云原生
基于jenkins动态化参数化构建
基于jenkins动态化参数化构建
由于上一篇是通过触发git操作来实现自动化构建和发布,回滚和发布不太可控,可以采用动态参数获取发布分支的方式方便发布和回滚目标:选择合适版本发布到合适的服务器环境(目前分支策略是,提测时创建发布分支release-date +%Y%m%d-%H%M%S )1.安装插件Dynamic Parameter Plug-in2.设置 参数化构建过程3.使用groovy脚本动态获取发布
由于上一篇是通过触发git操作来实现自动化构建和发布,回滚和发布不太可控,可以采用动态参数获取发布分支的方式方便发布和回滚
其他方式参考: http://birdinroom.blog.51cto.com/7740375/1404930
目标:选择合适版本发布到合适的服务器环境(目前分支策略是,提测时创建发布分支release-
date +%Y%m%d-%H%M%S
)
1.安装插件
Dynamic Parameter Plug-in
2.设置 参数化构建过程
3.使用groovy脚本动态获取发布分支
1
2
|
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.构建脚本
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
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.测试
版权声明:本文为Geekwolf原创文章,转载时请注明作者及本文链接
本文链接:http://www.simlinux.com/archives/549.html
更多推荐
- 4746
- 1
- 0
- 0
扫一扫分享内容
- 分享
已为社区贡献6条内容
回到
顶部
顶部
所有评论(0)