使用 jenkins自动构建docker镜像,并上传至harbor仓库
- 实验环境:
主机 | 角色 |
---|---|
server1 | harbor仓库 |
server2 | gitlab仓库 |
server10 | jenkins主机,docker主机 |
说明:本次实验环境,是在上一篇博客的基础上来进行的
- 步骤一:在jenkins主机上安装docker插件
- 步骤二:进入之前在jenkins上创建的项目test1,修改其配置
注意:这里有三个问题,首先是我们的jenkins运行时是以普通用户的身份来运行的,那我们在调用/run/docker.sock文件时,是否有权限;其次,我们的harbor仓库是加密的,并在在连接时需要认证,所以要解决jenkins在连接harbor仓库时,加密和认证的问题
接下来解决认证的问题
- 步骤三:在gitlab仓库中修改我们之前创建的demo这个项目,然后提交到gitlab仓库中
- 步骤四:先测试一下,是否能够构建镜像(这里先不将构建好的镜像上传到harbor仓库)
- 步骤五:在jenkins里面设置一下,让将构建好的镜像上传至harbor仓库
- 步骤六:在jenkins中新建一个项目,其作用是当test1触发后,触发新建的项目,其功能就是利用构建好的镜像来运行一个容器
总结:步骤六所实现的一个流程及逻辑:首先当git仓库中的资源发生变化,然后我们将资源提交到gitlab仓库中,当gitlab仓库中所存储的项目资源发生变化后,会主动触发jenkins主机,jenkins主机完成我们test1项目中的相关设置(触发构建镜像,并上传至harbor仓库),然后test1项目完成后,再触发docker项目完成容器的运行