W przebiegach CI/CD często pojawia się etap, w którym chcielibyśmy podjąć decyzję czy kontynuować, czy też nie.
Przykładowo mamy już przygotowaną paczkę, przeszła testy i nie chcemy żeby automatycznie została wgrana na produkcję. A raczej osoba decyzyjna powinna dokonać tej decyzji.
Definicja manualnej akcji
Aby zadanie wymagało manualnej akcji należy użyć opcji when z wartością manual:
manual job:
when: manual
script:
- echo "manual action"
Taka akcja będzie wymagała akcji manualnej z poziomu interfejsu graficznego:

Blokowanie dalszych etapów
Samo ustawienie zadania jako wymagającego akcji manualnej nie powoduje blokowania następnych akcji przed ich wykonaniem. Aby sprawić żeby nasza akcja zatrzymała wykonanie kolejnych należy użyć opcji allow_failure z wartością false:
manual job:
when: manual
allow_failure: false
script:
- echo "manual action"
Warto zajrzeć
1. https://docs.gitlab.com/ee/ci/yaml/#allow_failure
2. https://damianradowiecki.pl/gitlab/gitlab-konfiguracja-ci-cd-przy-uzyciu-gitlab-ci-yml/