仅在特定分支上的 GitLab CI 管道

标签 git continuous-integration gitlab pipeline gitlab-ci

我正在尝试实现 GitLab CI 管道来构建和部署 Angular 应用程序。在我们的项目中,我们有两个通用分支:master(仅用于生产)和develop。对于开发,我们从 develop 分支创建 feature/some-feature 分支。开发完成后,我们创建从 feature/some-featuredevelop 的 merge 请求。当 merge 请求获得批准并 merge 到 develop 分支时,我想运行一个管道来构建应用程序并将构建部署到某个环境中。

我在 .gitlab-ci.yml 中使用以下设置:

image: node:7.5-configured

stages:
    - build
    - deploy

build_job:
    stage: build
    only:
        - develop
    script:
        - /bin/bash <some script here>

...

问题是每次我 push 任何 feature/some-feature 分支时,Pipeline 都会执行。我的设置有什么问题?当直接推送到 develop 分支时,如何强制管道执行?

解决方案 这是我的错误 - 我在 develop 分支和 feature/some-feature 分支中有两个不同的 .gitlab-ci.yml 文件。

最佳答案

这是我的错误 - 我在 develop 分支和 feature/some-feature 分支中有两个不同的 .gitlab-ci.yml 文件,这就是执行管道的原因对于所有分支机构。

关于仅在特定分支上的 GitLab CI 管道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46948990/

相关文章:

git - 克隆 CodeIgniter 框架来构建我的网站

git status --ignored 无限期挂起

git - 我如何在 git bash 中将多个文件归档到一个 zip 文件中?

continuous-integration - ArgoCD同步失败时发送邮件通知

git - 如何在不公开存储库的情况下让所有 GitLab 用户访问所有存储库?

configuration - 如何修复在 gitlab 中创建新仓库后给出的 URL?

git - 如何在 git add 交互式补丁模式中获得更好的帅哥?

git - os x 服务器和远程 git repos

docker - 如何在Drone Docker插件中使用自定义DNS设置

rest - gitlab API : get all the project of a groups (with sub groups)