我正在使用AWS,并使用多个资源(CodeCommit)创建了CodePipeline。我正确地收到了这样的事件:
{'CodePipeline.job': {'id': '...
在这种情况下,我可以找到每个CodeCommit资源的最新提交,但是我找不到如何确定哪个特定资源触发了CodePipeline执行的信息。这可行吗?感谢您的帮助。
答案 0 :(得分:0)
尚不支持,但将来会支持。 现在,也许您可以通过在cloudtrail中跟踪StartPipelineExecution的事件名称并将其与源的提交时间进行比较来解决。
答案 1 :(得分:0)
我很确定您可以从代码管道中获取提交消息:
aws codepipeline get-pipeline-state --name PIPELINE_NAME
尝试使用jq或bash对其进行解析
答案 2 :(得分:0)
这将告诉您哪些资源触发了管道。您需要为其指定 pipeline-name 和 pipelineExecutionId 。
aws codepipeline list-pipeline-executions --pipeline-name <YOUR-PIPELINE-NAME> | jq -r '.[] | .[] | select(.pipelineExecutionId=="<PIPELINE-EXEXUTION-ID>") | .trigger.triggerDetail'
我没有在codeBuild中尝试过此操作,仅在CLI中尝试过,但是您可能可以从这里的codeBuild提供的变量中获得所需的变量。
https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-env-vars.html