Всегда ли выполняется `after_script` даже для отмененных заданий? - PullRequest
0 голосов
/ 11 июня 2018

В документации не ясно, выполняется ли after_script для отмененных заданий:

after_script используется для определения команды, которая будет выполняться последля всех заданий, включая неудачные.

Я выполняю потенциально критическую очистку в after_script, и хотя отмененные задания должны быть редкими, я хотел бы знать, что моя очистка гарантированнослучается.

1 Ответ

0 голосов
/ 11 июня 2018

Нет, я провел несколько тестов, и вот поведение, которое я показал:

after_script:
  - echo "This is not executed when a job is cancelled."
  - echo "A failing command, like this one, doesn't fail the job." && false
  - echo "This is not executed because the previous command failed."

1.after_script не выполняется при отмене задания

Для этого на gitlab.com есть открытый выпуск , так что, если это влияет на вас, отправляйтесь туда и сделайте немного шума.

2.Если команда в after_script завершается неудачно, остальные не выполняются

Обойти это довольно просто:

after_script:
  - potentially failing command || true
  - next command

Замените potentially failing command вашей командой и next command будет выполняться независимо от того, пройден или не пройден potentially failing command.

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

...