Gitlab CI: создание нескольких сборок из одного коммита - PullRequest
0 голосов
/ 07 мая 2019

Моя текущая конфигурация gitlab очень проста, как показано ниже

stages:
 - build

before_script:
  - some commands here

build-after-commit:
 stage: build
 script:
  - some command here
 artifacts:
  expire_in: 1 day
  when: on_success
  name: name here
  paths:
    - build/*.zip

Я хочу дважды запустить сборку после фиксации с разными настройками. Я ожидаю что-то вроде этого

stages:
 - build

before_script:
  - some commands here

build-after-commit:
 stage: build
 script:
  - some command here
 artifacts:
  expire_in: 1 day
  when: on_success
  name: name1 here
  paths:
    - build/*.zip

 # run it again with different settings
 stage: build
 script:
  - Different script here
 artifacts:
  expire_in: 1 day
  when: on_success
  name: name2 here
  paths:
    - build/*.zip 

Так что, в принципе, во втором запуске скрипт будет другим, а имя выходного файла будет другим. Как я могу это сделать?

1 Ответ

1 голос
/ 08 мая 2019

Простой подход заключается в том, чтобы просто иметь другую работу на этапе сборки.

Например,

stages:
 - build

before_script:
  - some commands here


build-after-commit:
    stage: build
    script:
    - some command here
    artifacts:
    expire_in: 1 day
    when: on_success
    name: name1 here
    paths:
    - build/*.zip

build-after-commit2:
    stage: build
    script:
    - Different script here
    artifacts:
    expire_in: 1 day
    when: on_success
    name: name2 here
    paths:
        - build/*.zip

Если вы определите build-after-commit2 на той же стадии (build), то этобудет даже работать параллельно build-after-commit.В этом случае я не думаю, что наличие двух заданий - плохой дизайн, поскольку они на самом деле сильно отличаются друг от друга, то есть разные сценарии и разные имена артефактов.

...