代码发布流程:
代码上线:
通过工具进行代码分发,分发方式:push(推)、pull(拉)
一般拉得方式比较安全一些。
工具:jenkins
测试:使用wordpress
installation:
wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
yum install jenkins
start/stop:
service jenkins start/stop/restart
web:
localhost:8080
Important Note on CentOS Java:
yum remove java
yum install java-1.6.0-openjdk 需要1.6版本的java
test:
use wordpress.org/download/svn test
use:
jenkins - wordpress-build
代码下拉至分发机:
1、新建-构件自由风格的... --ok
2、源码管理-subversion
参数化构件过程-添加参数-string parameter - 名字:WP_VERSION
Repository URL:
http://core.svn.wordpress.org/tags/$WP_VERSION
Local module directory (optional):wordpress-$WP_VERSION
3、保存
4、build with parameters-WP_VERSION:3.8-开始构建
5、可以点击《控制台输出》查看结果
6、代码保存至/var/lib/jenkins/workspace/wordpress-build
7、配置-构建-增加构件步骤-Execute shell-输入shell command可执行代码
shell command:
target=/var/www/html/deploy/package/workpress-$WP_VERSION.tgz
md5file=$target.md5
tar -cvf $target wordpress-$WP_VERSION
md5sum $target | cut -d\ -f1 > $md5file
echo $WP_VERSION > /var/www/html/deploy/lastver
8、给用户权限:
chown -R jenkins:jenkins /var/www/html/deploy/package
touch /var/www/html/deploy/lastver
chown -R jenkins:jenkins /var/www/html/deploy/lastver
chown -R jenkins:jenkins /var/www/html/deploy/livever
9、重新构建后,就会看到代码成功下载了
jenkins message:
+ cut ‘-d ‘ -f1
+ md5sum /var/www/html/deploy/package/workpress-3.8.tgz
+ echo 3.8
Finished: SUCCESS
代发分发:
deploy.py 脚本去分发机拽取代码
代码分发检测是否完成:
jenkins - wordpress-version-check
cd /var/www/html/foobar
fab check_ver
代码升级:(发布)
jenkins- wordpress-live
echo $WP_VER > /var/www/html/deploy/livever
#deploy脚本检测这个版本然后自动升级
代码回滚:
把WP_VERSION 改为 3.7 完成代码回滚
jenkins工作流程:
1、wordperss-build 到wordpress同步代码(以下载3.7版本为例)
2、deploy.py脚本到分发机拽去代码(做成定时任务,每分钟执行一次)
3、wordpress-version-check 代码分发检测是否完成(主要判断/var/www/releases目录下是否有3.7版本的目录,如果有则同步完成)
4、wordpress-live 代码升级, 将WP_VERSION改为3.8即可完成代码升级(deploy.py会读取http://deploymaster/deploy/lastver文件,里面记录的为版本号)