【问题标题】:Using a private image from Artifact Registry in CircleCI在 CircleCI 中使用来自 Artifact Registry 的私有图像
【发布时间】:2022-03-29 01:47:29
【问题描述】:

我正在尝试使用 CircleCI 设置 CI/CD,并且我希望我的管道的基本映像是一个定制的 CI/CD 映像,它存在于 Artifact Registry 中。在为作业提取基本图像时,我无法弄清楚如何正确验证 CircleCI。

我已经查看了CirlceCI docs 的认证拉动和Artifact Registry 文档的认证,我无法弄清楚如何将这两个拼图放在一起。似乎 CircleCI 需要某种密码或访问密钥,而 Artifact Registry 需要 glcoud 用于直接 docker 配置(gcloud auth configure-docker)访问令牌生成或交互式 docker 登录(cat KEY-FILE | docker login -u KEY-TYPE --password-stdin \\ https://LOCATION-docker.pkg.dev)。

如何使用 Artifact Registry 中的私有 docker 映像作为 CircleCI 中工作的基础?

    标签: docker circleci google-artifact-registry


    【解决方案1】:

    弄清楚了:

    1. 从云控制台创建服务帐户 json 密钥
    2. 在 CircleCI 中使用步骤 1 中创建的密钥创建一个名为 GOOGLE_APPLICATIONS_CREDENTIALS 的项目级机密
    3. 将以下配置放入您的 CircleCI yaml 文件中:
          docker:
            - image: us-west1-docker.pkg.dev/<PROJECT>/<REPOSITORY>/<IMAGE>
              auth:
                username: _json_key
                password: $GOOGLE_APPLICATION_CREDENTIALS
      

      如果您对服务帐户密钥进行 base64 编码,请使用 _json_key_base64 作为用户名。请注意,密码是我们在步骤 2 中创建的密钥的名称。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-11
      • 1970-01-01
      • 2022-01-28
      • 1970-01-01
      • 2022-01-15
      • 2017-02-24
      • 2022-12-01
      • 1970-01-01
      相关资源
      最近更新 更多