標籤:python shell jenkins
代碼發布流程:
代碼上線:
通過工具進行代碼分發,分發方式: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檔案,裡面記錄的為版本號碼)
本文出自 “muzinan的技術部落格” 部落格,請務必保留此出處http://muzinan110.blog.51cto.com/684213/1439992
代碼發布(jenkins)