【问题标题】:Google Cloud Build git authentication to Cloud Source RepositoriesGoogle Cloud Build 对 Cloud Source Repositories 的 git 身份验证
【发布时间】:2022-12-17 20:48:06
【问题描述】:

我正在尝试使用 Cloud Build 克隆 GCP Cloud Source Repository (CSR)。 尝试在我的 Dockerfile 中克隆 Repo 时,出现此错误:

fatal: could not read Username for 'https://source.developers.google.com': No such device or address

这似乎是 git 和 CSR 的身份验证错误。

我试过什么:我找到了https://cloud.google.com/build/docs/build-config-file-schema#network和这个github问题https://github.com/GoogleCloudPlatform/cloud-builders/issues/343。不过,我可能没有将它们放在配置文件中的正确位置。

我知道我可以只使用 SSH 密钥,但如果可能的话,我想使用“继承的”身份验证。 “继承”是指使用云构建服务帐户。

如果有人可以帮助解决特定问题,那就太好了。但是,如果您能告诉我从构建到其他 GCP 服务的身份验证是如何工作的,那将是受欢迎的。

-ps 我实际上是通过 pip 安装的(就像上面链接的 GitHub 问题中的人一样),但它需要先克隆 repo,这就是错误所在。

【问题讨论】:

    标签: python google-cloud-platform google-cloud-build google-cloud-source-repos


    【解决方案1】:

    您可以在 Dockerfile 中使用带有 PAT(个人访问令牌)的 https://source.developers.google.com URL。

    为此,您需要生成一个 PAT。

    生成令牌后,在 dockerfile 中使用它,如下所示:

    FROM gcr.io/cloud-builders/git

    RUN git clone https://<PAT>@source.developers.google.com/p/<PROJECT_ID>/r/<REPO_NAME>

    【讨论】:

    • 感谢您的回复,但没有“个人访问令牌”的迹象。可以创建 SSH 密钥(我在问题中提到过),但目前我正试图避免这种情况。
    • 你能检查一下这些link1link2link3吗?
    • 抱歉,Sandeep,但我的问题是关于云源存储库的。您正在向我发送指向 github 资源的链接。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-23
    • 1970-01-01
    • 2021-05-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多