文章目录

  • 系列文章目录
  • 一、环境配置
  • 1.插件安装
  • 2.云仓库配置
  • 3.构建配置
  • 二、仓库环境配置
  • 1.推送软件环境
  • 2.修改Dockerfile
  • 三、自动构建配置
  • 1.SSH插件配置
  • 1.插件安装
  • 2.插件配置
  • 2.构建后操作
  • 四.自动构建
  • 总结



一、环境配置

1.插件安装

点击 系统管理 >> 插件管理

Jenkins 运行docker无权限 jenkins docker部署_Jenkins 运行docker无权限


搜索docker 添加 Docker plugin

Jenkins 运行docker无权限 jenkins docker部署_Docker_02

Jenkins 运行docker无权限 jenkins docker部署_jenkins_03

2.云仓库配置

点击 系统管理 >> 系统配置 ,往下拉 找到 Cloud

Jenkins 运行docker无权限 jenkins docker部署_Jenkins 运行docker无权限_04


Jenkins 运行docker无权限 jenkins docker部署_docker_05


Jenkins 运行docker无权限 jenkins docker部署_docker_06


此处需要开启tcp端口:

vim /usr/lib/systemd/system/docker.service

找到 ExecStart 在后面增加

-H tcp://0.0.0.0:2376

Jenkins 运行docker无权限 jenkins docker部署_Jenkins 运行docker无权限_07


保存后重新装载配置文件和重启docker

systemctl daemon-reload
systemctl restart docker

在配置这里 :

  • Name 随便起名
  • Docker Host URI 填写tcp://192.168.3.212:2376(根据你的ip和所开启的端口,记住一定是tcp)
  • Server credentials 添加凭证

点击 测试 按钮,提示版本信息则访问正常

Jenkins 运行docker无权限 jenkins docker部署_推送_08

3.构建配置

前往之前建的工程任务 点击 配置构建 一栏选择Build/Publish Docker Image

Jenkins 运行docker无权限 jenkins docker部署_jenkins_09


Jenkins 运行docker无权限 jenkins docker部署_jenkins_10

二、仓库环境配置

本示例用的docker私有仓库为:Harbor 不知道如何搭建或尚未搭建请先搭建:Harbor私有仓库环境搭建

1.推送软件环境

将软件运行时所需要的镜像环境推送到 Harbor 私有仓库

推送前先对镜像环境进行 tag 重命名

命名规则:仓库IP地址/仓库项目名称/镜像名称:版本号

Jenkins 运行docker无权限 jenkins docker部署_Jenkins 运行docker无权限_11

2.修改Dockerfile

如下图,修改为私有仓库地址:

Jenkins 运行docker无权限 jenkins docker部署_Docker_12


注意:若服务器内有环境镜像则不用修改

三、自动构建配置

1.SSH插件配置

1.插件安装

Jenkins 运行docker无权限 jenkins docker部署_jenkins_13


Jenkins 运行docker无权限 jenkins docker部署_docker_14

2.插件配置

点击 系统管理 >> 系统配置

Jenkins 运行docker无权限 jenkins docker部署_Jenkins 运行docker无权限_15

2.构建后操作

点击 任务 >> 配置 >> 选择 构建后操作 tag >> 然后选择 Send build aitifacts over SSH

Jenkins 运行docker无权限 jenkins docker部署_Jenkins 运行docker无权限_16


Jenkins 运行docker无权限 jenkins docker部署_jenkins_17

echo '===============remote 拉取镜像 start==========='
CONTAINER_NAME=serviceapi-2021317
docker stop $CONTAINER_NAME
sleep 2s
docker rm $CONTAINER_NAME
sleep 2s
docker rmi 192.168.3.212/sample/$CONTAINER_NAME:v1
sleep 3s
docker pull 192.168.3.212/sample/$CONTAINER_NAME:v1
echo '===============remote 启动容器 start==========='
docker run -d --name $CONTAINER_NAME -p 10000:80 192.168.3.212/sample/$CONTAINER_NAME:v1
echo '===============remote qidong end================='

注:之前命令有问题不能覆盖,已更

四.自动构建

Jenkins 运行docker无权限 jenkins docker部署_Jenkins 运行docker无权限_18

总结

到此,基于Jenkins+Gitee+Docker 的自动化集成交付就完成了,欢迎各位伙伴留言交流