当前,AWS CodeStar设置默认python项目的方式是使用初始源阶段定义管道,如下所示;
这里的分支名称为master
,因此只要新更改合并到master分支中,管道就会触发。我也成功地尝试过将分支名称更改为SLS-2
,并且在对该SLS-2
分支上进行提交时触发了管道……太棒了!但是我想要的是在ANY分支的每个提交上运行管道。然后当然,然后根据天气情况设置手动和自动阶段,分支机构是否为主。
我在GitLab中知道,我们可以通过标签指定每个阶段
stage: dockerize
script:
- echo 'I will run this only on master branch'
only:
- master
- tags
或者我可以在except
上添加- master
标签,以允许此阶段在除master之外的所有分支上触发。如何使用AWS CodePipeline做到这一点?请提出建议。
答案 0 :(得分:0)
CodePipeline最适合发布自动化,使用CodePipeline时,建议使用一个“发布”分支,将准备发布的更改合并到其中。
拥有一个“主版本”分支将确保您不会遇到诸如在一个分支中意外地将一个旧变更部署到另一个分支中的新变更之上,从而还原新变更的问题。
如果要在合并到发行分支之前运行验证步骤,那么不错的选择是将CodeBuild与CodePipeline结合使用。例如,you can configure CodeBuild to automatically run on pull requests。
在合并请求请求之后,您还可以在CodePipeline中重新使用相同的CodeBuild配置,以在发布过程中运行相同的构建和测试步骤。