Данный механизм позволяет контролировать выполнение определенных джобов в пайплайне, у которых собственно данный механизм включен. Например:
deploy:app:
resource_group: "${CI_COMMIT_REF_SLUG}-<name>"
Доступны 3 режима работы:
1. unordered - это дефолтный режим, он просто ограничивает одновременное выполнение и не гарантирует порядок выполнения. Например 3 разных джобы деплоя могут выполнится в случайной последовательности, но не одновременно.
2. oldest_first - Джобы также не будут выполнены одновременно, но в строгом порядке, сначала те, что были старше (запушены первыми). Например мы пушим комиты, которые запускают job-1, job-2, job-3 с промежутков в 5 минут. Сама джоба выполняется 10 минут. Порядок будет job-1 -> job-2 -> job-3.
3. newest_first - противоположность oldest_first. Первым запускается деплой комита, который был запушен последним, то есть был новее других.
Изменить тип через API:
curl -X PUT -d "process_mode=<process_mode>" -H "PRIVATE-TOKEN: <token>" "https://gitlab.example.com/api/v4/projects/<project_id>/resource_groups/<resource_group_name>"
#gitlab