Запустите gitlab-ci.yml по запросу на слияние / ничего не происходит - PullRequest
0 голосов
/ 19 января 2020

У меня есть файл gitlab.ci.yml для проверки json файлов:

test:
    stage: test
    image: darrylb/jsonlint
    script:
      - for jsonfile in json/*.json; do jsonlint "$jsonfile"; done;
    only:
        changes:
            - json/*
    only:
        - merge_requests

Я хочу запускать его автоматически при каждом запросе на слияние с моей главной веткой. Но ничего не происходит, ни один конвейер не запускается, когда я создаю запрос на слияние. Что я пропустил?

1 Ответ

1 голос
/ 20 января 2020

Соедините два ключевых слова only в одно, например:

test:
    stage: test
    image: darrylb/jsonlint
    script:
      - for jsonfile in json/*.json; do jsonlint "$jsonfile"; done;
    only:
      refs:
        - merge_requests
      changes:
        - json/*

Вот док, описывающий, как его написать:

https://docs.gitlab.com/ee/ci/yaml/#using -onlychanges-with-pipelines-for-merge-запросы

Возможно, вам придется изменить json/* на json/**/*, если вы хотите, чтобы он вызывал все изменения во всех подпапках, а не только файлы прямо в папке json.

...