Синтаксис параметров шаблона конвейера YAML - PullRequest
0 голосов
/ 28 февраля 2020

На сайте Microsoft есть два документа, в которых, как представляется, описан другой синтаксис для параметров шаблона YAML.

Мне не удалось определить, где используется первый из приведенных ниже, а второй работает нормально. Я хотел знать, объявлена ​​ли версия, объявившая тип, устаревшей.

https://docs.microsoft.com/en-us/azure/devops/pipelines/process/templates?view=azure-devops-2019#template -выражения

parameters:
- name: 'solution'
  default: '**/*.sln'
  type: string

https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=azure-devops&tabs=example#template -референции

parameters:
  name: ''
  testFile: ''

1 Ответ

1 голос
/ 02 марта 2020

Сценарии, которыми вы поделились, на самом деле являются двумя синтаксисами различного сценария использования ios параметра.

Давайте сопоставим их с classi c UI. В задаче msbuild есть один пробел, который требует ввода .sln / .csproj пути к файлу:

enter image description here

Как обычно, вы делаете не нужно менять это значение вручную, если на пути нет ничего особенного. Потому что это автоматически вводится системой в задачу.

Это в точности то же самое, что и скрипт ниже YAML:

parameters:
- name: 'solution'
  default: '**/*.sln'
  type: string

Когда вы настраиваете это в YAML template, в большинстве сценариев ios вам не нужно настраивать значение в YAML снова, за исключением того, что вы хотите изменить на другое значение.

Именно поэтому мы сказали, что параметр solution равен необязательно in do c:

enter image description here


В отличие от вышеизложенного, параметры обязательны при использовании следующего синтаксиса:

parameters:
  name: ''
  testFile: ''

В это время вы должны передать значение из YAML, или это приведет к ошибке выполнения. Потому что нет никаких значений, введенных для них от начала до конца.


Я хотел знать, не объявлен ли тип объявления версии устаревшим.

Вы имеете в виду объявление версии задачи? Если да, НЕТ, это не рекомендуется. И это обязательный, который вы должны предоставить. Поскольку разные версии задач могут иметь различную конфигурацию задач и логи выполнения c.

Тот, который вы видели в этом do c, просто будьте форматом ярлык, Смотрите эту вкладку . До сих пор мы поддерживаем только ключевые слова, указанные ниже, и им не нужна версия, указанная пользователем. Потому что они автоматически выберут версию по умолчанию, определенную нашей бэкэнд-системой:

Script => command-line task

bash => shell script task

pwsh/powershell => PowerShell task

publish => Publish Pipeline Artifact task

download => Download Pipeline Artifact task


Обновление 3 / 9/2020:

parameters:
- name: 'solution'
  default: '**/*.sln'
  type: string

Выше сценария представлен более богатый синтаксис YAML, который является новой функцией, которую мы недавно развернули, и он не поддерживается в Azure devops server 2019 до сих пор ( 3/9/2020 ).

Для сервера Azure devops 2019 он поддерживает только более старый синтаксис, где значения по умолчанию объявляются как отображение без ограничений типа или значения :

parameters:
  solution: '**/*.sln'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...