我正在尝试实施GitLab CI Pipelines来构建和部署Angular应用程序 . 在我们的项目中,我们有两个一般分支: master
(仅限 生产环境 )和 develop
. 对于开发,我们从 develop
分支创建 feature/some-feature
分支 . 开发完成后,我们创建从 feature/some-feature
到 develop
的合并请求 . 当合并请求被批准并合并到 develop
分支时,我想运行管道以构建应用程序并在某些环境中部署构建 .
我在.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 . 我的设置有什么问题?当直接执行 develop
分支时,如何强制执行管道 only ?
Solution 这是我的错误 - 我在 develop
分支和 feature/some-feature
分支中有两个不同的.gitlab-ci.yml文件 .
2 回答
这是我的错误 - 我在
develop
分支和feature/some-feature
分支中有两个不同的.gitlab-ci.yml文件,这就是为所有分支执行Pipeline的原因 .我建议移动
脚本后标记:tag