一、项目描述
我们接下来要做的是在jenkins端写好代码,用Dockerfile文件直接构建镜像。此时整合的逻辑大致为:用户把代码通过git提交push到gitlab上,然后gitlab触发jenkins的webhook,通知jenkins做构建。
即整体流程为 :在server3 gitlab服务器上编写dockerfile,然后push到gitlab仓库,再经过gitlab触发jenkins,jenkins主机从server1 harbor仓库中拉取镜像,从而实现自动构建docker镜像,并将构建的镜像推送到harbor仓库。
主机名称 | IP地址 | 功能 |
server3 | 172.25.254.3 | 作为gitlab服务器 |
server4 | 172.25.254.4 | 作为jenkins服务器 |
server1 | 172.25.254.1 | harbor仓库 |
server5 | 172.25.254.5 | 完成拉取镜像并运行 |
二、自动化构建镜像并运行
2.1 项目构建----手动触发
现在我们要做的是让jenkins来做真正的构建镜像。
安装插件
首先我们先进入jenkins的插件管理:
安装此插件,此插件可以构建dockerfile项目,并且将其上传到docker仓库中。现在进入jenkins项目中的配置---> 构建:
由于我们要在jenkins主机上推送镜像到docker仓库,所以我们要在server4上安装docker-ce。
配置yum源
先将之前的阿里云的yum源copy给server4:
使用docker会有网桥问题,将之前server1上的网桥配置文件copy到server4上:
使之生效:
想要让server4连接server1上的harbor仓库: