Можно ли динамически формировать перечень jobs?

Можно ли формировать перечень jobs в зависимости от изменяемой в репозитории информации?
Условно, есть три файла определенного типа в репозитории - запускаются три задачи по ним.
Добавили четвертый файл - по нему добавилась задача и т.п.
  • Вопрос задан
  • 47 просмотров
Пригласить эксперта
Ответы на вопрос 1
VoidVolker
@VoidVolker
Dark side eye. А у нас печеньки! А у вас?
Да, можно настроить триггер запуска задачи при изменении определенного файла или каталога:
https://docs.gitlab.com/ee/ci/yaml/#ruleschanges
docker build:
  script: docker build -t my-image:$CI_COMMIT_REF_SLUG .
  rules:
    - if: $CI_PIPELINE_SOURCE == "merge_request_event"
      changes:
        - Dockerfile
      when: manual
      allow_failure: true

docker build alternative:
  variables:
    DOCKERFILES_DIR: 'path/to/dockerfiles'
  script: docker build -t my-image:$CI_COMMIT_REF_SLUG .
  rules:
    - if: $CI_PIPELINE_SOURCE == "merge_request_event"
      changes:
        - $DOCKERFILES_DIR/**/*

Если такой вариант не устраивает и надо выполнить какой-то скрипт и по его результатам запускать задачи, то у гитлаба есть API и через него можно запустить любую задачу: https://docs.gitlab.com/ee/ci/triggers/#trigger-a-...
Ответ написан
Ваш ответ на вопрос

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

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