项目开发过程中 通常会使用Git来管理项目
尤其是多人项目 一起开发时 Git就更加重要了
因为项目比较私密 不能公开 所以项目组使用的是GitLab的私服
大家在开发分支上开发(偶尔需要独立分支)
开发完毕后 先自己测试 如果基础问题没有的话 便提交至测试分支
反复几次后 这样的流程是非常繁琐的 而且会有时候 没有打包成功 导致代码没更新
所以这一块应该被机器所替代 这里便选择了Jenkins 帮忙集成项目
接下来的所有工作全部交给了 Jenkins 完成
当前文章只到 对项目进行打包
剩下的步骤在别的文章中
当前很多很多项目已经都是Jenkins 管理了
且背后有一套持续集成的流程 最后项目将运行至K8s(部分小、老项目还在用docker-compose管理)
下面是通过 Jenkins 的一个项目视图展示 已经有很多项目了
需要你的环境已经拥有
首先登录服务器 建立一个存放项目的文件夹
文件名字随意 但是最好见名知意(我这里直接是 docker-{项目名称})
我这里以 GitLab里自己封装的脚手架为例 (SpringBoot项目)
我新建了:test-template
由于该项目是后端项目 所以 在 test-template 下 我又新建了 backend 文件夹
使用 pwd 命令 记录下当前的路径
当前的路径是:/home/test-template/backend
该文件夹将会存在GitLab上的该项目的源码
项目名称我的规则是 刚才文件夹的规则
test-template-backend 标识它是这个项目的后端
点击 OK
填写 Description
项目的描述 可以尽可能的详细 方便维护
点击 Advanced
点击了Advanced之后
会弹出下面的 Directory
填入刚才在服务器记录下的目录
配置GitLab项目地址
注意 该地址必须是 .git 结尾的
勾选:Build when a change is pushed to GitLab …
复制 webhook URL: http://172.16.1.150:10101/project/test-template-backend (每个项目不一样哈!!!)
选择 Build
点击 Execute Shell 来执行Shell脚本
这里有几种方案
填入你要执行的Shell指令
由于服务需要停止、再启动
你可以尝试先kill掉服务 再 java -jar 执行
我这边的方案是在后续操作中 将其打包为Docker 再根据流程推送至K8s集群中
这步你可以自行操作
点击底部的 Save
先去测试配置是否生效
点击 Build Now
确保 GitLab 上的项目 有 test 分支哈!!
可以看到 #1、#2 成功了
你可以尝试点进#1 #2进行查看
查看文件 会发现Jenkins已经帮我们把项目拉下来了
而且target目录 也是Jenkins执行mvn打包后的目录
打开GitLab项目
选择 Settings
选择 Integrations
填写URL为刚才Jenkins的Webhook地址
填写SecretToken为Jenkins中按钮生成的秘钥
点击 Test
选择 Push Events
点击 查看GitLab是否可以正常通过WebHook通知Jenkins
看到:HTTP 200
说明GitLab现在已经可以正常通知Jenkins了
此时向GitLab中的项目的test分支提交代码
将会发出WebHook来触发Jenkins
完成Shell中的命令
这样就完成了基础的CI/CD了
后续更复杂的集成 请查看博客的其他文章