У меня есть следующий рабочий процесс:
name: CICD
# ...
jobs:
CI:
uses: ...
CD:
needs: [CI]
uses: ...
Я столкнулся с проблемой, которая требует, чтобы я временно отключил задание компакт-диска, которое использует другие рабочие процессы (а не только один шаг или действие).
Кажется, недавно появилось обновление о «Пропуске выполнения рабочего процесса»
Вы можете пропустить выполнение рабочего процесса, вызванное событиями push и pull_request, включив команду в сообщение фиксации.
Звучит неудобно, внизу упоминают:
Вы также можете отключить запуск рабочего процесса. Для получения дополнительной информации см. «Отключение и включение рабочего процесса».
В котором вы можете отключить и снова включить рабочий процесс с помощью пользовательского интерфейса GitHub, REST API или интерфейса командной строки GitHub. Однако это, похоже, не работает, когда рабочий процесс используется как многоразовый рабочий процесс.
Я также могу просто опустить логику:
name: CICD
# ...
jobs:
CI:
uses: ...
Но я хочу по-другому сохранить историю контроля версий (+ сделать так, чтобы мой пайплайн явно указывал, что задание было отключено/пропущено)
Есть ли обходной путь?
Да, вы можете использовать условия для управления выполнением задания:
Вместо этого вы можете использовать условие
jobs.<job_id>.if
, чтобы предотвратить запуск задания, если условие не выполнено.
Поэтому, если вы обновите рабочий процесс задания компакт-диска до неопределенного отрицательного состояния:
name: CICD
# ...
jobs:
CI:
uses: ...
CD:
if: false
needs: [CI]
uses: ...
Это приведет к тому, что задание всегда будет пропущено (т. Е. «Отключено»).