gitlab ci yml запустить определенный этап только для ветки-кандидата на выпуск - PullRequest
0 голосов
/ 09 февраля 2019

Привет, у меня есть yml, как показано ниже, но я хочу запустить определенную стадию только для определенных названий веток, таких как релиз-кандидат.Имя ветки релиза может измениться, как cis-rel1.0, в следующий раз, когда cis-rel2.0 и так далее.

image: java:8

stages:
  - build
  - deploy

build:
  stage: build
  script: ./mvnw package
  artifacts:
    paths:
      - target/demo-0.0.1-SNAPSHOT.jar

production:
  stage: deploy
  script:
  - curl --location "https://cli.run.pivotal.io/stable?release=linux64-binary&source=github" | tar zx
  - ./cf login -u $CF_USERNAME -p $CF_PASSWORD -a api.run.pivotal.io
  - ./cf push
  only:
  - cis-rel1.0

1 Ответ

0 голосов
/ 09 февраля 2019

Да, вы можете добиться этого, используя шаблон регулярных выражений в .gitlab-ci.yml, как показано ниже.Это регулярное выражение будет фильтровать имя вашего проекта /^cis-rel.*$/

image: java:8

stages:
  - build
  - deploy

build:
  stage: build
  script: ./mvnw package
  artifacts:
    paths:
      - target/demo-0.0.1-SNAPSHOT.jar

production:
  stage: deploy
  script:
  - curl --location "https://cli.run.pivotal.io/stable?release=linux64-binary&source=github" | tar zx
  - ./cf login -u $CF_USERNAME -p $CF_PASSWORD -a api.run.pivotal.io
  - ./cf push
  only:
  - /^cis-rel.*$/
...