我有下一个问题:
我有一个包含以下 AWS 堆栈的 CI/CD 流程:
当在任何分支(主分支和开发分支)中推送更改时,该过程工作正常,但如果推送 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官方文档: 您可以为指定的事件创建触发器,例如将提交推送到存储库时。事件类型包括:
所以理论上,当我推送标签时,如果事件是通过createReference配置的,则触发器必须工作。
我终于明白了。
我必须将设置分支设置为“所有分支”,而不是“主分支”和“开发分支”。由于某种原因,如果设置是这样的话,按下标签只会触发该功能。