日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯網營銷解決方案
GitLabCI作業(yè)中如何使用私有倉庫鏡像?

 如果是在vm或者物理機注冊的docker類型執(zhí)行器的runner,則在本機執(zhí)行docker login之后就可以了。但是現在是通過docker運行的gitlabrunner 并且使用的也是docker類型的執(zhí)行器。此時我們就需要在項目或者Runner配置鏡像倉庫的認證信息了。

注意:如果提前把鏡像下載到本地供runner使用,比每次都下載要快一些的??梢栽O置鏡像的拉取策略if-not-present。

首先,我們用docker啟動runner,并注冊執(zhí)行器類型為docker的runner并啟動runner。

 
 
 
 
  1. ## 注冊 
  2. docker run -itd --rm -v /data/devops/gitlab-runner/config:/etc/gitlab-runner  gitlab/gitlab-runner:v12.9.0 register \ 
  3.   --non-interactive \  --executor "docker" \ 
  4.   --url "http://gitlab.idevops.site/" \ 
  5.   --registration-token "4qCqD8pEoLzvgzzVn5oy" \ 
  6.   --description "devops-runner" \ 
  7.   --tag-list "build,deploy" \ 
  8.   --run-untagged="true" \ 
  9.   --locked="false" \ 
  10.   --docker-image alpine:latest \  --access-level="not_protected" 
  11. ## 運行docker run -itd  \  --name gitlab-runner \  --restart=always \  -v /data/devops/gitlab-runner/config:/etc/gitlab-runner  \ 
  12.   -v /var/run/docker.sock:/var/run/docker.sock \ 
  13.   gitlab/gitlab-runner:v12.9.0  

您可以采用兩種方法來訪問私有注冊表。兩者都需要設置環(huán)境變量DOCKER_AUTH_CONFIG來存儲身份驗證信息 。

1作業(yè)級:要配置一個作業(yè)以訪問專用注冊表,請?zhí)砑?DOCKER_AUTH_CONFIG為作業(yè)變量。
2平臺級(每個runner):要配置Runner以便其所有作業(yè)都可以訪問私有注冊表,在Runner的配置中添加DOCKER_AUTH_CONFIG到環(huán)境變量中。
獲取憑證信息
使用docker login生成

 
 
 
 
  1. docker login registry.example.com:5000 --username my_username --password my_password 

然后復制~/.docker/config.json的內容。

 
 
 
 
  1. [root@zeyang-nuc-service config]# cat ~/.docker/config.json 
  2. { "auths": { 
  3.   "192.168.1.200:8088": { 
  4.    "auth": "YWRtaW46SGFyYm9yMTIzNDU=" 
  5.   }, }, "HttpHeaders": { 
  6.   "User-Agent": "Docker-Client/19.03.5 (linux)" 
  7.  } 

使用base64生成

 
 
 
 
  1. echo -n "my_username:my_password" | base64 
  2. # 示例bXlfdXNlcm5hbWU6bXlfcGFzc3dvcmQ=# 格式{    "auths": { 
  3.         "registry.example.com:5000": { 
  4.             "auth": "(Base64 content from above)" 
  5.         }    }} 

配置憑證信息

 
 
 
 
  1. 格式化數據:{"auths": {"192.168.1.200:8088": {"auth": "YWRtaW46SGFyYm9yMTIzNDU="}} 

項目級配置

將認證信息以變量的方式存儲在項目或者ci文件中

 
 
 
 
  1. stages: 
  2.   - test 
  3. variables: 
  4.   DOCKER_AUTH_CONFIG: '{"auths": {"192.168.1.200:8088": {"auth": "YWRtaW46SGFyYm9yMTIzNDU="}}}' 
  5. test: 
  6.   stage: test 
  7.   tags: 
  8.     - build  image: 192.168.1.200:8088/spinnaker01/spinnaker01-nginx-demo:RELEASE-1.1.1 
  9.   script: 
  10.     - sleep 20 

系統(tǒng)級配置
將認證信息以變量的方式存儲在runner配置文件中

 
 
 
 
  1. [[runners]] 
  2.   environment = ['DOCKER_AUTH_CONFIG={"auths": {"192.168.1.200:8088": {"auth": "YWRtaW46SGFyYm9yMTIzNDU="}}}'] 

測試驗證

#DevOps# #GitLab# #持續(xù)交付#


文章名稱:GitLabCI作業(yè)中如何使用私有倉庫鏡像?
URL分享:http://www.dlmjj.cn/article/dhgoioj.html