【问题标题】:Find which files were updated in a commit in AWS CodePipeline查找在 AWS CodePipeline 中的提交中更新了哪些文件
【发布时间】:2021-11-04 11:55:52
【问题描述】:

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

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

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

这是可行的吗?感谢您的帮助!

【问题讨论】:

标签: amazon-web-services aws-codepipeline


【解决方案1】:

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

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

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

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

然后,当您拥有提交哈希时,您可以获取在该提交中修改的文件

git diff-tree --stat &lt;commit-hash&gt;

当你得到修改的文件时,你可以处理更多的逻辑,具体取决于你的应用程序。

【讨论】:

    猜你喜欢
    • 2021-12-21
    • 2018-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-19
    • 2020-03-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多