Jenkins 2.328 配置连接 Harbor 2.4 认证及推送镜像详细教程

版权申诉
0 下载量 166 浏览量 更新于2024-08-08 收藏 1.38MB DOCX 举报
本文档详细介绍了如何在Jenkins 2.328版本中配置连接到Harbor 2.4.2的认证过程,以及如何使用Jenkinsfile将构建的Docker镜像推送到Harbor仓库。主要内容涉及Jenkins、Docker、Docker-Harbor和Jenkinsfile的相关配置。 在Docker-Harbor 2.4.2的部署中,首先需要创建一个具有用户名和密码认证的私有仓库。用户可以通过访问`https://192.168.39.133/harbor/projects`或`https://reg.shi.com/admin/Harbor12345`来管理仓库。这一步骤确保了仓库的安全性,只有经过认证的用户才能访问。 接下来,搭建Jenkins 2.328服务器,使用管理员账号`admin`和默认密码`123456`进行登录。为了实现Jenkins与Harbor之间的自动化集成,我们需要创建一个Pipeline任务。这个任务的关键在于配置能够连接Harbor的认证信息,以便在构建完成后自动推送镜像。 首先,在Jenkins的“系统管理”->“凭据”中,添加新的凭据。将ID设置为`dockerHub`,并输入Harbor的用户名和密码。这将生成一个用于后续Pipeline脚本的凭据ID。 然后,使用Jenkins的`withCredentials`步骤,将保存的用户名和密码加载到Pipeline的变量中。例如,将用户名保存在`username`变量,密码保存在`password`变量。示例代码如下: ```groovy withCredentials([usernamePassword(credentialsId: 'dockerHub', passwordVariable: 'password', usernameVariable: 'username')]) { // someblock } ``` 在`someblock`中,你可以编写推送镜像到Harbor仓库的命令。这通常涉及到使用Docker CLI与Harbor交互。 为了使Jenkins能够安全地连接到Harbor,还需要在Jenkins服务器上配置Docker守护进程(`dockerd`)。编辑`/etc/docker/daemon.json`文件,添加不安全的注册表,如`https://b9pmyelo.mirror.aliyuncs.com`、`https://192.168.38.133`和`https://reg.shi.com`。之后,重新加载系统服务并重启Docker服务: ```bash systemctl daemon-reload systemctl restart docker ``` 完成以上步骤后,Jenkins的Pipeline任务就可以正确地连接到Harbor,并在构建完成后将Docker镜像推送到Harbor仓库。这展示了Jenkins作为持续集成工具,如何与Docker容器注册表(如Harbor)集成,以实现自动化部署流程。