簡體   English   中英

Google計算和服務帳戶用於注冊表訪問

[英]Google compute and servicce account for registry access

我有一個私人gitlab主持人,想在gcp上添加一些跑步者。 因此,我已經:

  • 創建一個服務帳戶(對項目擁有編輯權限)
  • 創建一個在其上具有Ubuntu 16.04的計算實例(名為gitlab-runner )並關聯服務帳戶。
  • 在其上安裝gitlab-runner / kubectl / kubectl docker-ce
  • 注冊shell類型的跑步者
  • 注冊docker類型的跑步者

轉輪外殼毫無問題。

跑步者碼頭工人? 很好...可以像這樣工作

exemple:
  stage: build
  image: google/cloud-sdk:latest
  tags:
    - runner-docker
  script:
    - # do something here

我的問題是當我想使用以前構建的圖像時,如下所示:

exemple2:
  stage: build
  image: eu.gcr.io/project/image_name:$CI_COMMIT_SHA
  tags:
    - runner-docker
  script:
    - # do something here

當我這樣做時,gitlab-runner無法拉出圖像。

因此,我嘗試過類似的操作:在沒有gcloud客戶端的情況下訪問google容器注冊表

然后,當我(通過ssh)連接到gitlab-runner執行拉動沒有問題。

但是跑步者不能。

知道出什么問題了嗎?


我已經完成了temporay gitlab-ci.yml,如下所示:

stage:
  - build
  - test

variables:
  CI_DEBUG_TRACE: "true"

test_gcloud_shell:
  stage: build
  tags:
    - shell
  before_script:
    - echo "disable before script"
  script:
    - docker run --rm eu.gcr.io/project/image_name:latest

test_gcloud_docker:
  stage: test
  image: eu.gcr.io/project/image_name:latest
  tags:
    - docker
  before_script:
    - echo "disable before script"
  script:
    - echo "hello"

任務test_gcloud_shell正常工作,但test_gcloud_docker卻沒有test_gcloud_docker 任何編號?

您設置了DOCKER_AUTH_CONFIG嗎? 請參閱GitLab的文檔類似問題

如果您需要長期的憑據,則可能需要使用服務帳戶的JSON密鑰文件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM