Jenkins持续集成环境搭建(二) ~ jenkins发布篇
git+mvn+jenkins 多机发布
场景说明
从gitlab拉取java代码,通过mvn编译,发布到多台服务器并启动
Jenkins配置
1. 配置全局变量
根据实际情况填写自己的环境信息
2. 系统设置
- 添加主机
配置主机,可以用密码,也可以用秘钥,上图勾选后为密码
- 创建Job
Jenkins --> new item
此处可以新建文件夹,如果配置多个不同项目,或者一个项目多个环境,建议新建多文件夹区分,别用视图(不好管理还不好看)
定义参数化,就是声明变量,方便后续引用,应对复杂场景
参数引用格式: ${KEY}
使用场景:
1)使用参数化可以形成模板,类似配置job可以直接复制(新建job时候,最后一个框就是复制功能,文件夹也能复制)
2)
注意:不要在参数中引用参数,例如:上面DATE的value 中,我引用 ${NAME},不考虑格式,还会有可能引用不上,测试了几个版本,有时候能引用到,有时候引用不到,暂时未定位原因
如果需要拉取多个git代码,勾选Muliple SCMs
此处重点说明:
1)Source files :资源文件,在jenkins里面,这个是相对路径,就算你写上绝对路径,也是相对于workspace的绝对路径,如:
/home/a.txt,路径为 /var/lib/jenkins/workspace/文件夹名/job名/home/a.txt,
2)remote dir :远程目录,如果是相对路径,就是相对你远程服务器登录的用户根目录(在创建主机时候根目录也可以定义),绝对路径就是真实路径
3) . remove prefix :移除的目录,举例说明,假如
workspace path :/var/lib/jenkins/workspace/文件夹名/job名/
source file:/var/lib/jenkins/workspace/文件夹名/job名/bbb/a.txt
remote dir :/home/test/apps
场景1:remove prefix = 空
实际远程服务器文件:/home/test/apps/bbb/a.txt 此处比预期多了个bbb文件夹
场景2:remove prefix = bbb
实际远程服务器文件:/home/test/apps/a.txt 这回是预期效果,所有remve 的路径都是相对于workspace,此处bbb可以写为/bbb,/bbb/,bbb/无影响
4)Exec commond:在远程服务器执行的脚本(以ssh非登录式执行,所有要注意有些命令可能会报命令不存在,有些环境变量会找不到)
至此,发布流程完毕
常见发布状态说明
蓝色:成功
黄色:异常
灰色:没构建过或手动中断或挂起
红色:失败
我家大黄:
更多推荐
所有评论(0)