Задать вопрос
Takun
@Takun
Инженер

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

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

stage .pre никак не зависит от build по своей составляющей, как запустить build чтобы он не ожидал завершения .pre?
  • Вопрос задан
  • 545 просмотров
Подписаться 1 Простой Комментировать
Ответ пользователя Евгений Хлебников К ответам на вопрос (2)
@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
Ответ написан
Комментировать