Gitlab-ci позволяет продолжить работу вручную в случае сбоя задания покрытия - PullRequest
0 голосов
/ 06 августа 2020

У меня есть конвейер, который проверяет тестовое покрытие на главной ветке по сравнению с текущей веткой, чтобы убедиться, что оно не уменьшилось. Если тестовое покрытие не удается, я хотел бы иметь возможность вручную продолжить конвейер (он должен быть ручным, чтобы было подтверждение, что покрытие уменьшилось).

Согласно документации Gitlab-ci, существует в настоящее время нет возможности начать работу как when: manual, так и when: on_failure. Это было бы возможно, если бы у меня было дополнительное задание ручной переопределения, и я мог бы указать OR в свойстве needs следующего задания или что-то подобное. Пока мне не удалось найти такого решения. Есть ли обходной путь, который мне не хватает?

1 Ответ

0 голосов
/ 06 августа 2020

Я прочитал ваш вопрос и хотел сказать: нет, это невозможно, но потом мне пришла в голову идея - у меня сейчас нет времени проверить это, а просто дать вам представление.

Вы можете использовать переменную, которую вы определяете в начале, например

variables:
  SUCCEDED: false

, а затем установить для нее в своем первом задании в методе сценария значение true ПОСЛЕ запуска модульного теста, например:

jobUnitTest:
  script:
    - Command for your unit test here
    - export SUCCEDED=true

А затем выполните следующий шаг в manuel AND, когда переменная ложна, например:

jobGoOnManuel:
    when: manuel
    only:
      variables:
        - $SUCCEDED == false
...