Gitlab CI / CD在计划的管道上仅触发gitlab-ci.yml文件中的单个阶段

时间:2020-07-15 17:27:20

标签: continuous-integration gitlab-ci

我想从包含很多阶段的yml文件在gitlab中运行一个阶段。我不想将其添加到每个阶段中,以避免运行所有阶段。

except:
    refs:
      - schedules

3 个答案:

答案 0 :(得分:1)

如果您不想在每个作业中添加except,请使用only而不是

https://docs.gitlab.com/ee/ci/yaml/#onlyexcept-advanced

下面有一个带有变量的示例

only_with_variable:
  script: ls -la
  only:
    variables:
      - $VAR == "1234"

之后,如果您计划管道,则可以选择向其添加变量。

enter image description here

在该示例中,您只需要添加值= 1234的VAR变量

答案 1 :(得分:0)

不是为每个作业显式定义except标签。您可以一次将其定义为anchor

.job_template: &job_definition
  except:
    refs:
      - schedules

test1:
  <<: *job_definition
  script:
    - test1 project

答案 2 :(得分:0)

您可以使用以下命令仅在计划作业上运行阶段

build-app:
  stage: build-app
  only:
    - schedules