将 git 标签推送到 CodeCommit 存储库时,AWS Lambda 不会触发

问题描述 投票:0回答:1

我有下一个问题:

我有一个包含以下 AWS 堆栈的 CI/CD 流程:

  • 有人将更改推送到 CodeCommit 存储库中
  • Lambda 函数被触发
  • CodeBuild 进程运行来构建我的存储库

当在任何分支(主分支和开发分支)中推送更改时,该过程工作正常,但如果推送 git 标签,则该过程不起作用。所以:

git push origin develop
-> Lambda 函数触发器和 CodeBuild 工作正常

git push origin master
-> Lambda 函数触发器和 CodeBuild 工作正常

git tag 1.0.0 
git push --tags
-> 什么也没发生。 Lambda 函数未触发

Lambda函数的配置如下:

Branches: develop, master
Custom data: my-codebuild-project
Events: createReference, updateReference
Repository name: my-codecommit-repo
Service principal: codecommit.amazonaws.com
Statement ID: lambda-5b3c4bd9-921d-4ee7-9177-a7b1a1f8132c
Trigger name: my-lambda-trigger

有什么想法吗?

来自AWS官方文档: 您可以为指定的事件创建触发器,例如将提交推送到存储库时。事件类型包括:

  • all:针对指定存储库和分支中的所有事件。
  • updateReference:用于将提交推送到指定的存储库和分支。
  • createReference:用于在指定存储库中创建新分支或标签时。
  • deleteReference:用于在指定存储库中删除分支或标签时。

所以理论上,当我推送标签时,如果事件是通过createReference配置的,则触发器必须工作。

git aws-lambda aws-codebuild aws-codecommit
1个回答
0
投票

我终于明白了。

我必须将设置分支设置为“所有分支”,而不是“主分支”和“开发分支”。由于某种原因,如果设置是这样的话,按下标签只会触发该功能。

© www.soinside.com 2019 - 2024. All rights reserved.