一、说明
本文内容说明:当使用git tag
提交代码到私有Gitlab时,通过Webhook触发Jenkins自动构建,并将构建完成之后的Docker镜像推送到镜像仓库Harbor中。
假设已经部署好了即将用到的工具:Gitlab、Jenkins、Harbor。
本文中Gitlab地址:http://192.168.0.183/
Jenkins地址:http://192.168.0.185:8080/
Harbor地址:https://repository.taichuyixian.com/ (域名指向内网地址192.168.0.185)
二、Harbor中的配置
2.1、创建项目
在Harbor的“项目”中新建项目:“tts”,如下图:
2.2、创建用户
创建这个用户的目的是为了让Jenkins可以通过docker login
登录到Harbor仓库,并推送镜像。
在Harbor的“系统管理”–>“用户管理”处,新建用户,如下图:
2.3、为用户授权项目
将“jenkins”用户添加到“tts”成员中,如下图:
2.4、测试
通过docker login
命令测试“jenkins”用户是否能够正常登录到Harbor仓库,使用的命令如下:
[root@jenkins ~]# docker login repository.taichuyixian.com -u jenkins -p oSc8on8rO
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Login Succeeded
“repository.taichuyixian.com”替换成自己的Harbor地址;
-u选项:指定用户名;
-p选项:指定密码。
注意:如果Harbor地址没有启用HTTPS,则需要在执行docker login
的服务器上做以下修改:
[root@jenkins ~]# vim /etc/docker/daemon.json
{
"insecure-registries": ["repository.taichuyixian.com&