Jenkins+docker自动化部署latest镜像

内容分享22小时前发布
0 0 0

环境

Jenkins+docker自动化部署latest镜像

服务器

地址

必备软件环境

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

目录结构如下:

Jenkins+docker自动化部署latest镜像

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 步骤,主要配置 丢弃旧的构建和参数化构建过程

Jenkins+docker自动化部署latest镜像

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

Jenkins+docker自动化部署latest镜像

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

Jenkins+docker自动化部署latest镜像

  • 构建步骤:执行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

Jenkins+docker自动化部署latest镜像

  • 构建后操作步骤:远程连接到目标服务器,重新部署项目

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

© 版权声明

相关文章

暂无评论

none
暂无评论...