场景说明

从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非登录式执行,所有要注意有些命令可能会报命令不存在,有些环境变量会找不到)

至此,发布流程完毕

常见发布状态说明
在这里插入图片描述
蓝色:成功
黄色:异常
灰色:没构建过或手动中断或挂起
红色:失败

我家大黄:
在这里插入图片描述

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐