Jenkins+GitLab+Docker 的CI/CD自动化部署是现代 DevOps 流程中的经典组合,能够实现代码提交后自动构建、测试和部署。
代码由gitlab管理,提交变更后,触发jenkins进行自动构建(这里可以进行将java应用进行maven打包或者前端文件的编译打包)完成CI过程,然后通过发布到服务器的docker中进行运行完成CD的过程。
整个操作要从部署gitlab服务器,jenkins服务器来做。我这边跳过服务器部署。直接做一个java+vue的前后端分离的程序进行部署。
一、服务器的免登配置
服务器免登之前已经讲过这里就不在赘述。
二、配置Jenkins服务器的java环境
由于要使用maven打包java程序 我们需要在jenkins中配置JDK和Maven环境。
进入jenkis系统管理 -> 全局工具配置->JDK或者Maven
image.png
image.png
image.png
这里可以使用服务器上已经安装的JDK或者maven 也可以自动安装。推荐使用手动在服务器上安装的,自动安装需要oracle账户。
配置完环境,需要配置环境变量 进入jenkis系统管理 -> 系统设置->全局属性,增加JAVA_HOME,MAVEN_HOME,PATH 三个参数。
image.png
二、构建一个自由风格的软件项目
构建的项目主要分为自由风格,maven项目和Pipeline 三种类型,Pipeline需要编写jenkinsfile脚本,适用于比较复杂的项目,自有风格的项目设置比较简单。我们今天就构建自由风格项目。
image.png
-
这里填写项目名称及一些介绍
image.png -
源码管理设置git仓库的URL,Credentials为仓库的账号或者秘钥,可以添加在jenkins的凭证管理里。Branches to build 填写需要构建的代码分支。
image.png - 构建触发器是设置git线提交,这里自动发起构建的触发器。Push Events为监控提交事件,点击高级
image.png
-
高级里面设置与gitlab交互的信息。Secret token 为gitlab webhook的秘钥。设置完这里要去gitlab设置webhooks,使用有项目权限的用户登录gitlab。设置->Webhooks
image.png - 网址格式为:http://{jenkins url}/project/{项目名称}
- Secret 令牌:Jenkins构建触发器生成的Secret token
-
触发来源 ->推送事件 填写代码分支名称即可
image.png -
保存后可以点击测试-> Push events 进行测试,返回200 即配置成功。
- 构建可以配置shell脚本,也可以运行脚本文件。
以上配置保存后可以尝试首次构建
三、首次构建服务
image.png
-
在项目中点击立即构建
image.png - 在Console Output中查看日志