Takun
@Takun
Инженер

Как запускать несколько stage одновременно?

Доброго дня, подскажите, пожалуйста, как можно запустить одновременно/параллельно несколько stages?
Например, есть следующие stages
  • .pre
  • build
  • test

stage .pre никак не зависит от build по своей составляющей, как запустить build чтобы он не ожидал завершения .pre?
  • Вопрос задан
  • 478 просмотров
Пригласить эксперта
Ответы на вопрос 2
ZIK1337
@ZIK1337
стейджи вроде никак, только джобы
хотя может с needs пошаманить
https://docs.gitlab.com/ee/ci/yaml/#needs
Ответ написан
Комментировать
@yellowmew
Cloud infrastructure, monitoring engineer. SRE
Есть два варианта развития событий: вы распределяете последовательность выполнения по стейжам или рисуете свой граф выполнения
В первом случае последовательность стейжей важна - джобы параллелятся в рамках одного стейжа и следующий стейж не запустится пока не выполнятся все джобы предыдущего.
.pre всегда запускается перед пользовательскими стейжами,
Во втором - вы можете запланировать свой граф выполнения с помощью needs
Я не нашел в документации, что .pre все еще будет выполняться первой, если ее джобы участвуют в вашем собственном графе, так что возможно это решение. В случае использования needs (и gitlab 14.2+ или gitlab.com 14.1) можно вообще не прописывать стейжи. В случае gitlab <=14.0 стейжи все еще нужны, потому что needs не будет работать с джобами одного стейжа.
Внимательно прочитайте требования к needs https://docs.gitlab.com/ee/ci/yaml/#requirements-a... соответственно вашей версии gitlab
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы