Как решить недопустимую синтаксическую ошибку скрипта gitlab yaml

# #continuous-integration #gitlab #gitlab-ci

Вопрос:

У меня есть скрипт, который по какой-то причине недействителен с кучей ошибок, генерируемых в конвейере gitlab и ci lint, таких как:

  1. Синтаксис неверен
  2. (): не нашел ожидаемый ключ при анализе сопоставления блоков
  3. неправильный отступ в записи последовательности
     .publish:
      image: python:3
      script:
        - printf "const config = { apiUrl: '${API_URL}', environment: 
         '${CI_ENVIRONMENT_SLUG}', userpool_client_id: '${USERPOOL_CLIENT_ID}', 
          cognito_domain: '${COGNITO_DOMAIN}' }" > ${BUILD_DIR}/config.js
     

Он создает объект под названием config и печатает его в config.js файл во время сборки.

Ответ №1:

Вам нужно отформатировать свой скрипт как многострочный блок. Одним из таких вариантов было бы использовать буквальный скаляр ( | ) для сохранения ваших новых строк.

 .publish:
  image: python:3
  script:
    - |
      printf "const config = { 
        apiUrl: '${API_URL}', 
        environment:'${CI_ENVIRONMENT_SLUG}', 
        userpool_client_id: '${USERPOOL_CLIENT_ID}', 
        cognito_domain: '${COGNITO_DOMAIN}' 
      }" > ${BUILD_DIR}/config.js