如何在分支创建时在 gitlab 管道中运行构建阶段?

时间:2021-01-06 23:05:54

标签: gitlab gitlab-ci

我有一个 gitlab 管道,它有两个阶段,如下所示:

以下是我目前的.gitlab-ci.yml

  stages:
    - build
    - push

  build:
    image: docker.repo.test.data/stuff/something:latest
    variables:
      LEGACY_VERSION: 10000
    before_script:
      - export CI_PIPE_ID=`expr $CI_PIPE_ID + $OLDER_VERSION`
    script:
      - echo "Building Project"
      - ls -lrth
      - ./build-project

  push:
    stage: push
    image: docker.repo.test.data/stuff/something:latest
    only:
        - master
    script:
      - some stuff here

在我的 build 阶段我尝试构建我的项目,而在 push 阶段我尝试推动它。我的 push 阶段仅在任何 PR 合并到 master 分支或任何提交被添加到 master 分支时发生,因为我在那里使用了 only

问题陈述

现在我还想为以下内容运行我的 build 阶段:

  • 如果有人从 master 创建了一个以 release-xxx name 开头的分支,那么我只想运行 build 阶段。
  • 如果有人从以 release-xxx 名称开头的特定提交创建了一个分支,那么我只想运行 build 阶段。
  • 对于所有其他情况,它应该像当前在我的原始 .gitlab-ci.yml 文件中所做的那样运行构建阶段。

这有可能吗?现在,每当我从 master 创建分支时,它都不会运行 build 阶段。

0 个答案:

没有答案