版本号
-
Jenkins:2.271
环境支持
安装部署Jenkins的服务器,需配置GIT
和JDK
环境,如存在可忽略。
yum install -y git
yum install -y java-1.8.0-openjdk-devel
安装插件及工具
* 在系统管理 → 插件管理页面中安装以下插件
-
Git Plugins
-
GitLab Plugins
* 在系统管理 → 全局工具配置页面中配置git
/java
/maven
环境
Jenkins项目配置
新建项目
由于项目使用maven构建,所以首先需要构建一个Maven项目
源码管理
-
配置Gitlab仓库地址,并指定分支
创建凭据
-
输入具有Gitlab对应项目访问权限的用户名密码,用于连接
构建触发器
-
Jenkins配置
Gitlab配置
-
使用gitlab管理员账号进入 Admin Area → Settings → Network页面
-
勾选Allow requests to the local network from web hooks and services并保存
-
进入项目主页,进入Settings → Integrations页面
-
输入Jenkins对应项目的web URL,输入Jenkins触发器配置中生成的
token
,勾选Push Events
-
保存并发送
push events
测试连接
Jenkins中查看项目是否自动构建,若出发构建任务则完成触发器配置。
Pre Steps(构建前操作)
-
Jenkins允许在构建前添加一系列操作,通常选择
执行shell
,也可以同时添加多个操作。若无需配置跳过即可。 -
shell
命令说明-
若选择执行shell命令,添加的shell命令会在
Build
前执行,shell命令的作用范围是部署Jenkins的服务器。
-
-
Root POM
一栏中配置maven项目的根pom文件 -
Goals and options
一栏可配置maven构建命令,如clean
、install
等。需要注意的是项目构建过程中会自动加上mvn
命令,无需显式指定。 -
Build(构建)
-
Post Steps(构建后操作)
-
Jenkins允许在构建后添加一系列操作,与
Pre Steps
类似。有所差异的是提供了3个操作前提,用户可指定是否在构建成功后执行后续指令。 -
Post Steps
是Jenkins实现CI/CD的主要步骤,通常在Build
后在此步骤执行部署指令。以下提供了一些常规的使用方式。
Jenkins的构建过程与本地构建maven项目流程相同。Jenkins执行Build
之后,会在本机指定目录(默认/var/lib/jenkins/workspace/
)拉下gitlab项目的完整代码,并在对应项目target
文件夹下构建jar
文件。因此后续的各种部署方式都需要以jar
文件为基础进行。-
本地部署
-
在本机执行部署jar包的命令;或将本机的jar文件复制到指定目录执行。
-
-
远程部署
-
需要利用
Publish Over SSH
插件。在本地构建后将jar包发送到指定服务器,执行命令部署。
-
-
docker部署
-
使用docker部署通常需要与
Harbor
结合使用。Jenkins服务器编写好对应的Dockerfile
文件,待构建成功后,将jar包复制到Dockerfile目录,使用docker build
命令制作docker镜像,制作成功后push到Harbor
。 -
远程连接指定服务器,输入docker命令进行部署。
-
-
-
编辑
常见问题
- 处理方法:
-
chmod a+rw /var/run/docker.sock