写在前面
首先我们在使用默认的 Jenkins 安装配置的时候,是缺少几个插件的,我们需要手动安装上去,插件名称如下(我安装 Jenkins 的时候默认把他汉化了):
- SSH server
- Publish Over SSH
- Docker Pipeline
- Docker
- Docker Commons Plugin
- Maven Integration Plugin
然后重启就好了
插件安装入口
准备好 GIT 仓库
就是一个可以看到效果的 Test 工程,这里我使用我的一个 web 工程来测试:https://gitee.com/peppa-qiu/ci-cd-test.git
特别说明,项目中需要有 Dockerfile,和 docker-compose-dev.yml 文件
- Dockerfile 文件
FROM openjdk:oraclelinux8
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
LABEL "author"="qiuqiuya"
LABEL "version"="1.0"
LABEL "email"="fortunate_qkm@163.com"
ADD *.jar app.jar
EXPOSE 8081
ENTRYPOINT ["java", "-jar", "-Duser.timezone=GMT+08", "-Dfile.encoding=UTF-8", "-Dsun.jnu.encoding=UTF-8", "/app.jar"]
- docker-compose-dev.yml 文件
version: "3"
services:
ci-cd-test:
container_name: ci-cd-test
image: ci-cd-test:${BUILD_NUMBER}
ports:
- "8081:8080"
restart: always
创建之前的准备
1、设置 –> 全局工具配置:设置 jdk,maven,ssh server
2、系统管理 –> 系统配置:配置 SSH Servers
注意,这一步需要安装好 SSH server、Publish Over SSH 这两个插件
Jenkins 创建构建流程
1、创建一个 maven 项目
2、配置构建流程
1、配置 GIT 仓库信息
2、配置触发构建条件
3、配置 Build
2、构建成功之后的操作(Post Steps)
记得勾选一下 Verbose output in console,可以到时候在控制台看到输出信息
上传 jar 包到服务器的配置:
上传 Dockerfile 文件的配置(另外一个 docker-compose-dev.yml 一样的操作,这里就不截图了):
Mac 版本 SHELL 脚本
#!/bin/bash
source /etc/profile
source ~/.zshrc
if [[ -a ".env" ]];
then rm -rf .env
fi
cd /Users/qiukangming/jenkins-build/ci-cd-test
# BUILD_NUMBER 是 Jenkins 的内置变量,可以使用 $ 获取
echo BUILD_NUMBER=${BUILD_NUMBER} >> .env
docker build -t ci-cd-test:${BUILD_NUMBER} .
docker-compose -f docker-compose-dev.yml -p ci-cd-test stop
docker-compose -f docker-compose-dev.yml -p ci-cd-test up -d
Linux 版本 SHELL 脚本
#!/bin/bash
source /etc/profile
if [[ -a ".env" ]];
then rm -rf .env
fi
cd /root/jenkins-build/ci-cd-test
echo BUILD_NUMBER=${BUILD_NUMBER} >> .env
docker build -t ci-cd-test:${BUILD_NUMBER} .
docker-compose -f docker-compose-dev.yml -p ci-cd-test stop
docker-compose -f docker-compose-dev.yml -p ci-cd-test up -d
然后保存退出就行了~
3、查看效果
我们可以等待 5 分钟自动构建,也可以手动运行构建流程
4、服务器上查看构建好的文件
5、查看 Docker 情况
6、访问接口
到这里我们的 Jenkins 的 CI/CD 流程就弄好啦~
版权声明:本文为qq_42378797原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。