# svn上传流程
为了确保维护svn代码的正确性,指定svn上传代码流程如下:
**开发人员开发**
开发人员本地分支-->取得svn最新代码(根据前一天的最后tag合并)-->代码开发-->提交分支
合并时注意事项,对于冲突的文件查看是不是自己本地正在修改的文件,不是的话就按照主线覆盖,否则按照本地,最后解决冲突问题(不好操作的话就备份好自己本地代码,将svn代码拿过来,仔细看下冲突问题),这样在汇合的时候就可以按照自己的分支来开发(注意防止别人先合并)。
**开发人员代码合并**
开发人员本地svn主线-->取得svn最新代码-->从本人分支合并到主线svn主线-->提交到svn主线(**要谨慎处理**)
**每周值班人员代码取得**
取得上线列表-->检查svn开发人员提交日志-->取得最新代码-->值班人员打标签tag-->本地编译打增量包
打标签的工作在检查后提交sa前进行,每次提交给sa都打个tag,这部分工作最终是自动化,将每i次打包的文件放到固定目录下供sa使用,在打包后注意一些目录和文件不要打包进去,一是占用空间,二是会冲掉网站文件。
* * * * *
# 大中小型企业上线解决方案
## svn目录阻止结构说明
$ tree ~/data/svnapp/
├── branch *← 分支,为测试时使用,几天以后上线的项目必须开分支,测试需要本分支通过,主线合并到分支通过,才能合并到主线进行测试*
├── tags *← 版本记录时候使用*
└── trunk *← 主线,与正式线相对应,当前不上线的文件不允许提交*
3 directories, 0 files
## 小型公司上线案例
程序多为php程序,直接通过FTP直接上传代码到线上服务器,随时随地上线更新。
**此上线方法存在的问题**
1. 开发不经过测试人员测试,用户访问页面刷新后页面即改变,对用户体验比较差,如果开发写错了代码造成的影响就更大。
2. 大概50%以上的故障直接和开发程序代码有关
3. 网站出了问题一般是运维人员的问题(例如宕机),但这种情况下,问题大多数可能由开发人员引起。
**解决方案**
1. 开发人员需要在个人电脑上搭建lamp环境测试网站代码,并且在办公室或者IDC机房有测试环境。
2. 代码上线规定时间,例如:三天上线一次,如网站需要经常更新可每天下午17点上线(根据网站业务性质而定,原则是影响用户最小)
3. 代码上线之前需要备份,网站程序出了问题方便回退,另外,上传代码时尽可能先传到临时目录,完整后使用`mv`命令移动到网站目录。
4. 有运维人员管理上线,对于代码的功能性,开发更在意,而对于代码的性能和服务的稳定,运维更在意,因此运维上线这样更加规范科学。
## 中型企业上线解决方案
>
规范运维人员操作步骤,制定统一的操作脚本、备份文件名称、备份文件路径。使操作人性化、统一化。
- Linux的安装
- Linux的软件安装管理
- Linux零碎的命令
- 了解ssh
- 系统调优及安全设置
- Linux系统中的硬链接和软连接
- Linux文件和目录的属性及权限
- 命令总结
- 文件目录管理命令
- cat
- cd
- cp
- ls
- mkdir
- mv
- rm
- touch
- vi
- 硬件检测内核shell命令
- echo
- alias
- dd
- diff
- date
- grep(重要)
- head
- rpm
- sed(重要)
- tree
- unalias
- yum
- seq
- su
- less
- more
- tail
- awk(重要)
- pwd
- history
- whoami
- find(重要)
- which
- vimdiff
- sudo
- wget
- ln
- chmod
- chown
- vim常用技巧
- scp
- 工作场景应用总结
- 自动删除n天前日志
- 删除一个目录下的所有文件但保留一个文件
- Linux软件安装
- php安装(apache版本)
- vsftpd安装
- git安装
- python安装
- LNMP安装
- LAMP安装I
- LAMP安装II
- svn安装
- svn在Linux下的命令操作
- svn钩子简介
- svn代码上传流程
- Crond介绍
- sersync应用指南
- 其他
- 小结一
- 系统调优重新整理tmp
- linux禁止root用户直接登录sshd并修改默认端口