посторонний ключ env не допускается в круге CI - PullRequest
0 голосов
/ 14 мая 2018

в моем circle.yml я добавил заголовок env:, чтобы добавить мои переменные окружения mysql, я видел это в некоторых примерах онлайн, и он хорошо работает, и мой этап сборки. но я получаю это предупреждение:

enter image description here

вот так это выглядит в моем circle.yml

docker:
  - image: elasticsearch:1.3.9
  - image: circleci/mysql:5.6
    env:
      - MYSQL_ALLOW_EMPTY_PASSWORD=true
      - MYSQL_HOST=127.0.0.1
      - MYSQL_ROOT_HOST=%
      - MYSQL_DATABASE=MyDB
environment:
  SBT_VERSION: 1.1.0
  SBT_OPTS: "-Xms512M -Xmx1536M -Xss1M"
.....

Кто-нибудь имел это раньше?

Ответы [ 2 ]

0 голосов
/ 16 мая 2018

отказ от ответственности: CircleCI Developer Advocate

Здесь есть несколько вопросов. Это не ошибка. Используется неправильный ключ.

  1. Это .circleci/config.yml фрагмент, а не circle.yml Первый - CircleCI 2.0, а второй - CircleCI 1.0.

  2. Используемый ключ должен быть не env, а environment, как то, что вы используете через несколько строк.

  3. В этом случае синтаксис для переменных не является неправильным, но в некоторых случаях использование синтаксиса ключа и значения может быть лучше.

Вот как должна выглядеть конфигурация:

docker:
  - image: elasticsearch:1.3.9
  - image: circleci/mysql:5.6
    environment:
      MYSQL_ALLOW_EMPTY_PASSWORD: true
      MYSQL_HOST: 127.0.0.1
      MYSQL_ROOT_HOST: %
      MYSQL_DATABASE: MyDB
environment:
  SBT_VERSION: 1.1.0
  SBT_OPTS: "-Xms512M -Xmx1536M -Xss1M"
0 голосов
/ 14 мая 2018

К сожалению, это ошибка в Circle CI, подтвержденная командой.

Дополнительная информация и отслеживание здесь: Якоря Yaml теперь отображаются как нарушение схемы .

Цитата из цепочки:

Якоря YAML продолжат работать - не волнуйтесь.

То, над чем мы сейчас работаем, - это прекращение разрешения новыхпроекты для сборки, если они имеют «недопустимый конфиг».Неверный конфиг сейчас немного туманный.В идеале мы хотим, чтобы любые дополнительные / недокументированные ключи YAML в рабочих процессах или в рабочих местах были ошибкой (только для новых проектов).

Цель здесь - выявить опечатки и ошибки в конфигурации.Например, у нас много пользователей, которые пишут «environment» и «resource_class» неправильно прямо сейчас.Опечатки, подобные этим, в настоящее время являются тихими неудачами.Сборка будет выполняться с этими опечатками, но без указанной среды или класса ресурсов.Мы хотим сделать эти серьезные ошибки с четким указателем на ключ в YAML, который виноват.

Новые предупреждения об ошибках конфигурации позволяют нам начать выделять такие ошибки и собирать данные о том, что наиболееТипичные ошибки в config:

Мы хотим оставить верхний уровень config.yml открытым, чтобы можно было ссылаться на любые дополнительные определения с помощью якорей.Например, для большинства наших внутренних проектов мы объявляем образ докера на верхнем уровне, используя привязку, и ссылаемся на него в каждом задании, чтобы СУШИТЬ конфигурацию.

Мы также работаем над модульным,составная система для конфигурации в дополнение к проверке схемы.Мы хотим позволить вам определить этапы, задания и рабочие процессы один раз, а затем повторно использовать их в разных проектах.Если вы хотите узнать больше об этом, я бы хотел пообщаться в чате.

В настоящее время похоже, что альтернативного решения не существует.

...