我正试图实现 GitLab CI Pipelines 来构建和部署 Angular 应用程序。在我们的项目中,我们有两个常规分支:master
(仅供生产使用)和 develop
。对于开发,我们从 develop
分支创建 feature/some-feature
分支。当开发完成后,我们从 feature/some-feature
创建合并请求到 develop
。当合并请求被批准并合并到 develop
分支时,我希望运行一个 Pipeline 来构建应用程序并将构建部署到某个环境。
我在 .gitlab-ci.yml 中使用以下设置:
image: node:7.5-configured
stages:
- build
- deploy
build_job:
stage: build
only:
- develop
script:
- /bin/bash <some script here>
...
问题在于每次我推送到任何feature/some-feature
分支时,都会执行Pipeline。我的设置有什么问题? 我该如何强制Pipeline仅在直接推送到develop
分支时执行?
解决方案
这是我的错误 - 我在develop
分支和feature/some-feature
分支中有两个不同的.gitlab-ci.yml文件。
only:
下使用ref:
部分。 - Don