Jenkins + Gitlab 配置项目自动发布

一、安装插件

系统管理 --> 插件管理:

  安装:Git、Gitlab、Maven Integration、Publish Over SSH、中文插件

 

 记得安装完成后,把最下方的重启复选框勾一下。

 Jenkins 会自动重启。

手工重启如下:

在浏览器中输入 www.jenkins-ip/restart (例如http://localhost:8000/restart),点击重启 Jenkins后会自动重启并加载login页面。

 

 二、配置全局工具

系统管理 --> 全局工具配置

配置 Maven 和 JDK,这个不细说了,看图:

 我们的项目由于用到了公司的私服Maven仓库,所以必须用我们定制的 setting 文件。

注意:这个文件路径,是前面 Docker 安装 Jenkins 时,启动脚本中有设置过的映射目录,否则是找不到这个文件的。

配置JDK也是,我这边兼容一些老项目,所以用了JDK1.8。

和 Maven 一样,JAVA_HOME 的目录也是 Docker 的映射目录,在启动脚本中有配置过的。

 

三、系统配置

 系统管理 --> 系统配置,页面拉到最后的 Publish over SSH 配置:

 SSH Servers 的新增按钮:

填入相应的SSH服务器内容及账户信息,如我们这边是研发组的开发环境服务器,规范指定项目文件都在 /home 目录中,各项目再分项目目录,因此是如此配置。

选中使用密码授权的内容,填入对应账户的密码,这边使用了超管 root 的账号。

 

四、创建项目

新建任务,选择 maven 项目

 配置对应 Gitlab 项目及账号信息,账号记得要点击箭头对应的添加按钮创建一下。

分支对应我们项目中的 dev 分支,开发环境分支。

构建触发器,把 Gitlab 的推送选上,然后点击下面箭头的高级

 把最后的 Secret token 生成一下。

 注意:上面 Gitlab推送地址,就是红框那行,最后那个 http 开头的地址,还有这个 Secret token 复制下来,后面要用。

Bulid栏输入对应 Maven 的内容:

 

 点击高级按钮,配置项目对应的 setings.xml 文件。

 PostSteps 点击 Add post-build step 按钮,选择发送文件到SSH服务器并执行命令:

 填写项目相关打包后的文件目录信息及Shell脚本。

第一栏:是 Gitlab 获取到的目录对应其中打包编译好的 jar 文件相对地址。

第二栏:是 jar 文件前面那部分,是要去除的内容,不然会连前面的目录一起发送。

第三栏:是SSH服务器的远程目录,是在前面全局配置是SSH Server 中配置的远程目录之后,再增加子目录。

如:我这边什么都不填,那就是放置在 SSH 配置的远程目录 /home/ 的目录中。

 

五、Gitlab配置Webhooks:

 用配置的Git账号,登录到Gitlab上,找到对应的项目,点击设置 --> Webhooks

 把之前复制的那个 推送地址 和 Secret token 都填上,并选择推送事件。

这意味着只要 dev 分支有代码更新,就会让 jenkins 执行发布任务。

当然,你也可以选择分支合并事件来触发,看各项目的源码管理情况。

我们这边 dev 分支是指定专人才能进行代码更新的,负责 dev 环境的发布。

 

四、发布日志输出

控制台输出远程相关的日志需要打开‘Verbose output in console’。

 在 Post Steps 栏 SSH Server 下面的高级按钮,点击展开,选上后保存。

 至此,Jenkins 发布项目全部结束,大家可以试一下,对应脚本我放在最后,大家对应自己的项目,进行调整使用吧。

JAR_NAME=admin-x.x-RELEASE
echo "查询进程id-->$JAR_NAME.jar"
PID=`ps -ef | grep "$JAR_NAME.jar" | grep -v grep  | awk '{print $2}'`
#echo"得到进程ID: $PID"
#echo"结束进程"
for id in $PID
do
kill -9 $id
echo "killed $id"
done
echo"结束进程完成"
cd /home
#修改文件权限
chmod 755 $JAR_NAME.jar
echo"开始启动"
BUILD_ID=nohup java -jar admin-x.x-RELEASE.jar --spring.profiles.active=dev >admin-x.x-RELEASE.log 2>&1 &

 

注:文强哥精品集,祝各位使用愉快!

posted @ 2023-06-06 11:18  Java365  阅读(639)  评论(0编辑  收藏  举报