GitLabCI作业中如何使用私有仓库镜像?

注册

docker run -itd --rm -v /data/devops/gitlab-runner/config:/etc/gitlab-runner gitlab/gitlab-runner:v12.9.0 register
–non-interactive
–executor “docker”
–url “http://gitlab.idevops.site/”
–registration-token “4qCqD8pEoLzvgzzVn5oy”
–description “devops-runner”
–tag-list “build,deploy”
–run-untagged=“true”
–locked=“false”
–docker-image alpine:latest
–access-level=“not_protected”

运行

docker run -itd
–name gitlab-runner
–restart=always
-v /data/devops/gitlab-runner/config:/etc/gitlab-runner
-v /var/run/docker.sock:/var/run/docker.sock
gitlab/gitlab-runner:v12.9.0
您可以采用两种方法来访问私有注册表。两者都需要设置环境变量DOCKER_AUTH_CONFIG来存储身份验证信息 。

作业级:要配置一个作业以访问专用注册表,请添加 DOCKER_AUTH_CONFIG为作业变量。
平台级(每个runner):要配置Runner以便其所有作业都可以访问私有注册表,在Runner的配置中添加DOCKER_AUTH_CONFIG到环境变量中。
获取凭证信息
使用docker login生成
docker login registry.example.com:5000 --username my_username --password my_password
然后复制~/.docker/config.json的内容。

[root@zeyang-nuc-service config]# cat ~/.docker/config.json
{
“auths”: {
“192.168.1.200:8088”: {
“auth”: “YWRtaW46SGFyYm9yMTIzNDU=”
},
},
“HttpHeaders”: {
“User-Agent”: “Docker-Client/19.03.5 (linux)”
}
使用base64生成
echo -n “my_username:my_password” | base64

示例

bXlfdXNlcm5hbWU6bXlfcGFzc3dvcmQ=

格式

{
“auths”: {
“registry.example.com:5000”: {
“auth”: “(Base64 content from above)”
}
}
}
配置凭证信息
格式化数据:{“auths”: {“192.168.1.200:8088”: {“auth”: “YWRtaW46SGFyYm9yMTIzNDU=”}}

项目级配置
将认证信息以变量的方式存储在项目或者ci文件中

stages:

  • test

variables:
DOCKER_AUTH_CONFIG: ‘{“auths”: {“192.168.1.200:8088”: {“auth”: “YWRtaW46SGFyYm9yMTIzNDU=”}}}’
test:
stage: test
tags:
- build
image: 192.168.1.200:8088/spinnaker01/spinnaker01-nginx-demo:RELEASE-1.1.1
script:
- sleep 20
系统级配置
将认证信息以变量的方式存储在runner配置文件中

[[runners]]
environment = [‘DOCKER_AUTH_CONFIG={“auths”: {“192.168.1.200:8088”: {“auth”: “YWRtaW46SGFyYm9yMTIzNDU=”}}}’]

测试验证

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值