在AWS CodePipeline中查找提交中更新的文件



我正在通过Bitbucket通过PR提交触发AWS CodePipeline。有什么方法可以找到哪些文件是用最新提交更新/创建的吗?

我查看了环境变量,并查看了管道的详细信息和历史CLI命令:$ aws codepipeline list-pipeline-executions --pipeline-name <name>$ aws codepipeline get-pipeline-state --name <name>,但他们没有我需要的信息。

为什么我需要这个?管道触发一个或多个气流DAG并侦听其状态。我们在分支名称中包含DAG名称,使用CODEBUILD_WEBHOOK_HEAD_REF对其进行解析,然后触发DAG。这很容易出错,由于DAG名称与其文件名匹配,我们希望自动提取它们。

这是可行的吗?谢谢你的帮助!

您可以从管道执行中获取提交哈希。使用cli:时

aws codepipeline list-pipeline-executions --pipeline-name <pipeline-name>

你会得到一个执行列表,第一次执行是最新的一次。

pipelineExecutionSummaries: [ 
{ ...
sourceRevisions: [
{
...
revisionId: "<commit-hash>"
}
]
}
...
]

然后,当你有了提交散列,你就可以得到在提交中修改的文件

git diff-tree --stat <commit-hash>

进一步的逻辑取决于您的应用程序,当您得到修改的文件时,您可以处理。

相关内容

  • 没有找到相关文章