环境

|
服务器 |
地址 |
必备软件环境 |
|
Jenkins服务器 |
10.100.210.237 |
jenkins、git、docker-ce、docker compose |
|
harbor私有镜像仓库 |
10.100.203.125 |
docker环境、harbor离线安装包 |
|
测试环境服务器 |
10.100.210.61 |
Jenkins服务器已配置免密钥登录,docker-ce 、docker compose |
该手册主要侧重于Jenkins配置,dockerfile、docker compose及harbor私有镜像仓库此处不涉及或少量涉及。
Jenkins服务器在安装好docker环境后,需要将运行Jenkins的系统用户加入到docker用户组中,并重新启动Jenkins——必须重启,我的环境中不重启的情况下,Jenkins构建容器镜像时会报错,提示无权限访问
unix:///var/run/docker.sock。
我的环境中,Jenkins以普通用户运行于centos7 Linux中需按下面步骤操作:
sudo usermod -aG docker ${user} # 将当前系统用户加入docker用户组,使其拥有执行docker相关命令的权限
sudo systemctl restart jenkins # 重启Jenkins项目
Jenkins通过docker构建镜像并部署测试环境流程描述
- 使用Jenkins通过docker构建项目容器镜像
- 推送到harbor私有镜像仓库
- 通过Jenkins执行构建后步骤,更新目标服务器上运行的服务容器
其中,测试环境采用参数化构建(按分支构建)
项目目录中增加dockerfile
目录结构如下:

Dockerfile文件内容:
FROM docker.io/anapsix/alpine-java:8_server-jre_unlimited
RUN mkdir -p /performance/server/logs
/performance/server/temp
WORKDIR /performance/server
COPY performance-admin.jar /performance/server/
CMD java -jar /performance/server/performance-admin.jar
Jenkins工程配置
- General 步骤,主要配置 丢弃旧的构建和参数化构建过程

- 源码管理步骤:配置git仓库地址及授权账号

- 构建环境步骤:增加构建过程中时间戳显示选项

- 构建步骤:执行shell及maven配置
cp performance-admin/target/*.jar docker/
docker build –no-cache -t 10.100.203.125/performance/$JOB_NAME:latest docker/
docker push 10.100.203.125/performance/$JOB_NAME:latest
docker image prune -f

- 构建后操作步骤:远程连接到目标服务器,重新部署项目
cd /data/docker_prod/jk_test
docker compose stop performance-admin
docker compose rm -f performance-admin
docker image rm -f 10.100.203.125/performance/performance-admin-docker:latest
docker compose up performance-admin -d