Gitlab CI заставляет меня определять этапы при использовании множественного включения - PullRequest
0 голосов
/ 15 апреля 2020

У меня есть базовый файл .gitlab-ci.yml:

include:
  - project: 'my-group/my-project'
    file: 'test1.yml'

test1.yml:

stages:
 -test_stage1

test_stage1:
 stage: test_stage1
 script: //some script

работает нормально, test_stage1 работает успешно.

Теперь, если я хочу включить другой файл:

include:
  - project: 'my-group/my-project'
    file: 'test1.yml'
  - project: 'my-group/my-project'
    file: 'test2.yml'

test2.yml:

stages:
 -test_stage2

test_stage2:
 stage: test_stage2
 script: //some script

Я получаю следующую ошибку:

This Недопустимая конфигурация GitLab CI: задание test_stage: параметр stage должен иметь значение test_stage2

Поэтому я должен явно добавить этапы:

    include:
      - project: 'my-group/my-project'
        file: 'test1.yml'
      - project: 'my-group/my-project'
        file: 'test2.yml'
   stages:
      -test_stage1
      -test_stage2

И это работает.
Почему что?
Могу ли я как-то просто включить несколько файлов и go на всех этапах, не объявляя их?

1 Ответ

1 голос
/ 15 апреля 2020

Вам необходимо определить свои этапы, чтобы GitLab CI знал последовательность этапов.

См. Документацию .

Могу ли я как-то просто включить несколько файлов и go на всех их этапах, не объявляя их?

Нет, если вы хотите иметь несколько этапов. Вы должны указать GitLab CI, какой этап находится первым, второй и c., Чтобы можно было выполнить все задания для каждого этапа, прежде чем переходить к следующему этапу. Это дает нам конвейер.

Этап по умолчанию, кстати, test. Если вы не укажете атрибут stage для задания, он будет присвоен этапу test.

...