使用 AWS CodeBuild 时如何克隆 AWS CodeCommit 中的存储库?
How can I clone repositories in AWS CodeCommit when using AWS CodeBuild?
我的 CodeBuild 过程需要我从 AWS CodeCommit 克隆一些支持库。但是,由于我在 AWS CodeBuild 使用的 docker 图像上没有我的私钥,因此我在尝试进行结帐时遇到权限错误:
agent_1 | Host key verification failed.
agent_1 | fatal: Could not read from remote repository.
AWS CodeBuild 从 AWS CodeCommit 下载代码是否有简单的推荐方法?
如果您正在访问您帐户中的 Codecommit 存储库并且有权访问该存储库,那么您需要配置附加到构建过程的 IAM 角色,以便能够读取远程代码提交存储库。
在构建项目的创建过程中,会创建一个具有基本权限设置的 IAM 角色,或者您会选择一个现有的 IAM 角色。
无论哪种方式,您都需要编辑 IAM 角色并附加策略以访问 CodeCommit 资源,以便 CodeBuild 进程执行克隆操作。
我找到了答案。正如 Saurav.Kumar 所说,您需要确保您的 IAM 角色授予您对这些存储库的权限。此外,由于我需要直接使用 git 命令来克隆其他库,因此我需要将其添加到我的 buildspec.yml:
phases:
install:
commands:
- pip install git-remote-codecommit
最重要的是正确设置 IAM...这是一个矫枉过正的问题,但对于一般的 PoC 目的来说,它将作为内联策略定义来完成工作:
{
"版本": "2012-10-17",
“陈述”: [
{
"Sid": "VisualEditor0",
"效果": "允许",
“行动”: [
“代码提交:ListRepositoriesForApprovalRuleTemplate”,
“代码提交:CreateApprovalRuleTemplate”,
“代码提交:UpdateApprovalRuleTemplateName”,
“代码提交:GetApprovalRuleTemplate”,
“代码提交:ListApprovalRuleTemplates”,
“代码提交:DeleteApprovalRuleTemplate”,
“代码提交:ListRepositories”,
“代码提交:UpdateApprovalRuleTemplateContent”,
“代码提交:UpdateApprovalRuleTemplateDescription”
],
“资源”:“”
},
{
"Sid": "VisualEditor1",
"效果": "允许",
“行动”:“代码提交:”,
“资源”:“arn:aws:codecommit:us-east-1:xxxxxxxx:xxxxxxx-myproject”
}
]
}
我的 CodeBuild 过程需要我从 AWS CodeCommit 克隆一些支持库。但是,由于我在 AWS CodeBuild 使用的 docker 图像上没有我的私钥,因此我在尝试进行结帐时遇到权限错误:
agent_1 | Host key verification failed.
agent_1 | fatal: Could not read from remote repository.
AWS CodeBuild 从 AWS CodeCommit 下载代码是否有简单的推荐方法?
如果您正在访问您帐户中的 Codecommit 存储库并且有权访问该存储库,那么您需要配置附加到构建过程的 IAM 角色,以便能够读取远程代码提交存储库。
在构建项目的创建过程中,会创建一个具有基本权限设置的 IAM 角色,或者您会选择一个现有的 IAM 角色。
无论哪种方式,您都需要编辑 IAM 角色并附加策略以访问 CodeCommit 资源,以便 CodeBuild 进程执行克隆操作。
我找到了答案。正如 Saurav.Kumar 所说,您需要确保您的 IAM 角色授予您对这些存储库的权限。此外,由于我需要直接使用 git 命令来克隆其他库,因此我需要将其添加到我的 buildspec.yml:
phases:
install:
commands:
- pip install git-remote-codecommit
最重要的是正确设置 IAM...这是一个矫枉过正的问题,但对于一般的 PoC 目的来说,它将作为内联策略定义来完成工作:
{ "版本": "2012-10-17", “陈述”: [ { "Sid": "VisualEditor0", "效果": "允许", “行动”: [ “代码提交:ListRepositoriesForApprovalRuleTemplate”, “代码提交:CreateApprovalRuleTemplate”, “代码提交:UpdateApprovalRuleTemplateName”, “代码提交:GetApprovalRuleTemplate”, “代码提交:ListApprovalRuleTemplates”, “代码提交:DeleteApprovalRuleTemplate”, “代码提交:ListRepositories”, “代码提交:UpdateApprovalRuleTemplateContent”, “代码提交:UpdateApprovalRuleTemplateDescription” ], “资源”:“” }, { "Sid": "VisualEditor1", "效果": "允许", “行动”:“代码提交:”, “资源”:“arn:aws:codecommit:us-east-1:xxxxxxxx:xxxxxxx-myproject” } ] }