Как в gitlab ci log скрыть вводимые команды (echo off)?

Сейчас в логах сборок вывод примерно такой (bash):

...
$ echo "Finish recompile objects"
Finish recompile objects
$ echo "BUILD - OK"
BUILD - OK
...

То есть при просмотре выводятся вводимые команды и их результат. Есть ли возможность скрыть команды и оставить только вывод?

...
Finish recompile objects
BUILD - OK
...

В cmd есть режим echo off, вот хотелось бы активировать такой же.

Буду благодарен за любые идеи :)


Ответы (1 шт):

Автор решения: Zempik

Как правильно направил aleksandr barakin в комментариях, решение заключается в многострочном скрипте с использованием | (literal)

myjob:
  script:
  - |
    # printing the job information
    echo --------------------------
    echo Building ${CI_COMMIT_SHA}
    echo --------------------------

На выводе в логе будет следующий результат:

(...)
$ # printing the job information # collapsed multi-line command
--------------------------
Building 629fcab9e39f8564cb2a0d1a7f104e2312a22288
--------------------------
(...)

В итоге, вводимые команды не отображаются, кроме первой, а вывод от них корректно отображается.

Больше вариантов решения можно увидеть в этом обсуждении - https://gitlab.com/gitlab-org/gitlab-runner/-/issues/4645

→ Ссылка