sas*_*alm 6 amazon-web-services aws-codebuild
有没有办法从 AWS CodeBuild 构建步骤中获取提交哈希?我尝试使用 CODEBUILD_RESOLVED_SOURCE_VERSION 但它返回 IaC 存储库的提交 ID,而不是源存储库的提交 ID。
我知道如果你有执行 ID,有一种方法可以获取它:
aws codepipeline get-pipeline-execution --pipeline-name my-pipeline --pipeline-execution-id e550c757-434a-4c94-8e2e-5122ca14d861
Run Code Online (Sandbox Code Playgroud)
但是我也没有 pipeline-execution-id 。我只有 CODEBUILD_BUILD_ID。
找到了一个适合我的解决方案:
\nPIPELINE_EXECUTION_ID=$(aws codepipeline get-pipeline-state --region ${AWS_REGION} --name my-pipeline --query 'stageStates[?actionStates[?latestExecution.externalExecutionId==`'${CODEBUILD_BUILD_ID}'`]].latestExecution.pipelineExecutionId' --output text)\nSOURCE_REPO_COMMIT_HASH=$(aws codepipeline get-pipeline-execution --pipeline-name my-pipeline --pipeline-execution-id $PIPELINE_EXECUTION_ID --query "pipelineExecution.artifactRevisions[?name=='src'].revisionId" --output text)\nRun Code Online (Sandbox Code Playgroud)\n您可能需要将“src”更改artifactRevisions[?name=='src']为对您的项目有效的任何值。
来自@IfTrue的评论如下:
\n\n\n其他读者的旁注:sashoalm 提到可能需要更改的部分('src')是 CodePipeline 中“阶段”内“操作组”中输出工件的名称,它在其中监视 CodeCommit 更改。AWS 文档的这一部分还解释了查询背后的魔力:docs.aws.amazon.com/cli/latest/reference/codepipeline/\xe2\x80\xa6 \xe2\x80\x93 IfTrue
\n
| 归档时间: |
|
| 查看次数: |
3687 次 |
| 最近记录: |