基于jenkins动态化参数化构建

       由于上一篇是通过触发git操作来实现自动化构建和发布,回滚和发布不太可控,可以采用动态参数获取发布分支的方式方便发布和回滚

目标: 选择合适版本发布到合适的服务器环境(目前分支策略是,提测时创建发布分支release- date  +%Y%m%d-%H%M%S  )

1.安装插件 Dynamic Parameter Plug-in

2.设置 参数化构建过程

3.使用groovy脚本动态获取发布分支

PHP

def ver_keys = [ 'bash', '-c', 'cd /gitrepos/project1; git pull>/dev/null; git branch -a|grep remotes|grep release|cut -d "/" -f3|sort -r |head -10 ' ]
ver_keys.execute().text.tokenize('\n')
其他方式参考:  http://birdinroom.blog.51cto.com/7740375/1404930

4.构建脚本

PHP

echo $release_version
echo $deploy_server
case $deploy_server in
test)
            	 echo "This server is $deploy_server -----test enviroment"
             cd /gitrepos/project1/
             git checkout $release_version
             git pull origin $release_version
             rsync -avH --delete --progress  --exclude=robots.txt --exclude=.gitignore  --exclude=.git --exclude=.DS_Store --exclude="*.tar"    /gitrepos/project1/  /gitrepos/project1/               
                    ;;
            prod)
            echo "This server is $deploy_server  ------production enviroment"
            cd  /gitrepos/project1/
            git checkout $release_version
            git pull origin $release_version
            rsync -avH --delete --progress  --exclude=robots.txt --exclude=.gitignore  --exclude=.git --exclude=.DS_Store --exclude="*.tar"  '-e ssh -p 22000' /gitrepos/project1/  www@node1.simlinux.com:/gitrepos/project1/ 
        ;;
               *)
               	 exit
                    ;;
esac

5.测试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值