【问题标题】:How do I access a private Github repository within a cloud builder?如何访问云构建器中的私有 Github 存储库?
【发布时间】:2017-12-15 15:22:17
【问题描述】:

我在 Github 上有两个私有存储库,A 和 B。它们都是 Golang 项目。项目 A 依赖于存储库 B。我已将两个存储库链接到 Google 源代码并获得许可。

Cloudbuild.yaml

 - name: 'gcr.io/cloud-builders/git'
   args: ['clone', 'https://source.developers.google.com/p/$PROJECT_ID/r/B']

来自容器构建器的日志

Starting Step #0
Step #0: Already have image (with digest): gcr.io/cloud-builders/git
Step #0: Cloning into 'B'...
Finished Step #0

...

Step #1: [0;33m[WARN]   [mUnable to checkout github.com/user/B
Step #1: [0;31m[ERROR]  [mUpdate failed for github.com/user/B: Unable to get repository: Cloning into '/builder/home/.glide/cache/src/B'...
Step #1: fatal: could not read Username for 'https://github.com': No such device or address
Step #1: : exit status 128

有没有人可以使用容器构建器和谷歌自己的源代码库工作?我不想使用“云密钥管理服务”来解决这个问题。

已经试过了:https://github.com/GoogleCloudPlatform/cloud-builders/issues/44#issuecomment-325144047

【问题讨论】:

    标签: go google-cloud-platform


    【解决方案1】:

    我没有云构建经验,但您应该使用 ssh:// 而不是 https:// 来克隆您的 git 存储库。然后,您需要向 repo 添加一个 SSH 密钥(在 github 中,它称为部署密钥,每个 repo 或您的用户帐户)并在克隆时使用相同的密钥(在 Linux 中通常足以将私钥文件放在〜/ .ssh)。我猜您可能会发现涉及 Cloud KMS 的解决方案会做同样的事情,但会安全地存储私钥。

    【讨论】:

      猜你喜欢
      • 2021-11-16
      • 2013-03-23
      • 2018-11-27
      • 1970-01-01
      • 2021-01-18
      • 2023-03-16
      • 1970-01-01
      • 2022-11-19
      • 1970-01-01
      相关资源
      最近更新 更多