Невозможно использовать << parameters.my_param >> на этапе выполнения задания - PullRequest
0 голосов
/ 11 июня 2019

Я пытаюсь передать URL-адрес в качестве параметра в задание CircleCi (как часть Workflow).

Я знаю, parameters можно использовать на шаге When (какconditions), однако я не могу найти какой-либо способ передачи параметра в задание, чтобы использовать его в шагах Выполнить.

В конечном итоге я хотел бы вызвать это задание через запрос API отдругой проект.

version: 2
jobs:
  smokes:
    parallelism: 4
    working_directory: ~/regression-repo/
    parameters:
        target_url:
           type: string
           default: <defaultURL>
    docker:
      - image: circleci/node:latest-browsers

    steps:
     - checkout
     - run:
          name: Run smoke tests
          command: |
            TEST_FILES=$(circleci tests glob "./tests/**/*.js" | circleci tests split --split-by=filesize)
            TEST_NAME=$(basename -- ${TEST_FILES%.js})
            TARGET_URL= << parameters.target_url >>
            printf "\nTest files:\n$TEST_FILES\nURL:\n$TARGET_URL\n"
            TEST_PATH=$TEST_FILES RESULTS_NAME=$TEST_NAME URL=$TARGET_URL npm run smokes


workflows:
  version: 2

  build_on_changes:
    jobs:
      - smokes

Я ожидаю, что это передаст URL на шаг выполнения ... однако я получаю сообщение об ошибке:

/bin/bash: line 4: warning: here-document at line 2 delimited by end-of-file (wanted `parameters.target_url')
/bin/bash: -c: line 4: syntax error near unexpected token `newline'
Exited with code 2

Я попытался добавить кавычки (одиночные, double, backticks), а также просто повторение параметра:

steps:
      - run:
          name: target_url
          command: |
            echo << parameters.target_url >>

Однако я продолжаю нажимать одно и то же сообщение об ошибке.

Я пропустил его через анализатор YAML и убедился, что этоне проблема с конфигурацией ... Есть идеи, как передать параметр (URL) моей работе по курению?

1 Ответ

0 голосов
/ 13 июня 2019

Проблема была связана с версией CircleCi Config (2, когда она должна быть 2.1 для использования параметров).Просто, но я как-то пропустил пару дней:

version: 2.1
jobs:
  smokes:
    parallelism: 4
    working_directory: ~/regression-repo/
    parameters:
        target_url:
           type: string
           default: <defaultURL>
    docker:
      - image: circleci/node:latest-browsers

    steps:
    .........
...