Для цикла gitlab-ci.yml - PullRequest
       11

Для цикла gitlab-ci.yml

0 голосов
/ 17 октября 2019

У меня есть этот фрагмент кода. Это дает мне синтаксическую ошибку: неожиданный конец файла. Если я копирую его в файл .sh и запускаю в терминале, он работает.

before_script:
    - sbt sbtVersion
    - for file in ./pending/*.sql; do
        file=$(basename "$file")
        export str_opt="$(cat ./pending/"$file"|tr '\n' ' ')"
        mv ./pending/"$file" ./done/
        done

где я ошибаюсь?

1 Ответ

0 голосов
/ 17 октября 2019
do;

Нет ; после do. Удалите его.

Как работает yaml в gitlab-ci, он объединяет строки в одну длинную строку, заменяя пробел новой строки и начальных строк на один пробел:

for file in ./pending/*.sql; do; file=$(basename "$file"); export str_opt="$(cat ./pending/"$file"|tr '\n' ' ')"; mv ./pending/"$file" ./done/; done

, чтонедопустимый из-за ; после do.

Сценарий выглядит так:

before_script:
    - sbt sbtVersion
    - for file in ./pending/*.sql; do
             file=$(basename "$file");
             export str_opt="$(cat ./pending/"$file"|tr '\n' ' ')";
             mv ./pending/"$file" ./done/;
        done

должен работать.

...