Да, можно настроить триггер запуска задачи при изменении определенного файла или каталога:
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-...