【问题标题】:How to check out a CodeCommit repo from within Codebuild?如何从 Codebuild 中签出 CodeCommit 存储库?
【发布时间】:2022-08-08 17:18:17
【问题描述】:

我有一个附加到 codecommit repo \"A\" 的 AWS CodePipeline。作为构建过程的一部分,我想从 repo \"A\" 生成一些工件并将它们提交到 codecommit repo \"B\"。我试过包括

git clone https://git-codecommit.us-west-2.amazonaws.com/v1/repos/RepoB

在构建规范中,但我在 CodeBuild 中收到此错误:

fatal: could not read Username for \'https://git-codecommit.us-west-2.amazonaws.com\': No such device or address

[Container] 2022/04/27 22:26:42 Command did not exit successfully git clone https://git-codecommit.us-west-2.amazonaws.com/v1/repos/RepoB exit status 128

它似乎没有凭据。我还尝试在 git 命令中包含用户名和密码,例如 git clone https://codepipelineuser-at-***:***@git-codecommit.us-west-2.amazonaws.com/v1/repos/RepoB 并收到此错误:

[Container] 2022/04/27 21:33:45 Command did not exit successfully git clone git clone https://codepipelineuser-at-***:***@git-codecommit.us-west-2.amazonaws.com/v1/repos/RepoB exit status 129
[Container] 2022/04/27 21:33:45 Phase complete: POST_BUILD State: FAILED
[Container] 2022/04/27 21:33:45 Phase context status code: COMMAND_EXECUTION_ERROR Message: Error while executing command: git clone git clone https://codepipelineuser-at-123542344134:***@git-codecommit.us-west-2.amazonaws.com/v1/repos/AmplifySpec-Kotlin. Reason: exit status 129

(我知道您永远不应该签入密码,但我只是将其作为测试并在之后重置密码,并且存储库为空。如果可行,我会将密码存储在 Parameter Store 中)。

如何指定我的 CodeCommit 存储库的凭据,以便我可以在 CodeBuild 中检查它?

    标签: git aws-codepipeline aws-codecommit


    【解决方案1】:

    我能够以两种方式连接到代码提交 在 IAM 用户上创建 HTTP 访问,并使用您从访问生成中获得的用户名/密码。

    或者您可以使用访问密钥+秘密访问密钥,但是您需要在您的秘密访问密钥上使用 Signature V4 有点复杂

    【讨论】:

      猜你喜欢
      • 2020-01-02
      • 2020-06-03
      • 1970-01-01
      • 1970-01-01
      • 2023-02-07
      • 2011-05-06
      • 1970-01-01
      • 1970-01-01
      • 2022-09-25
      相关资源
      最近更新 更多