Можно ли импортировать скрипт в шаблон YAML - PullRequest
0 голосов
/ 08 мая 2020

У меня есть репо Azure с именем devops
В моем конвейере объявлен ресурс с именем devops
Работает ссылка на шаблон:

 - template: templates/template.yaml@devops

в devops/templates/template.yaml файл Я хотел бы добавить шаг, который выполняет сценарий PowerShell, который находится в devops/scripts/myscript.ps1

Возможно ли это? Какой будет синтаксис в файле template.yaml?

Я пробовал это, но не работает:

steps:
  - task: PowerShell@2
    inputs:
      filePath: scripts/myscript.ps1@devops

Ответы [ 2 ]

1 голос
/ 11 мая 2020

Предполагая, что эти два репозитория находятся в одном командном проекте. Затем:

Ваше template.yaml в devops репо должно быть:

steps:
  - task: PowerShell@2
    inputs:
      filePath: scripts/myscript.ps1

Ваше определение сборки в main репо должно быть:

resources:
  repositories:
    - repository: devops
      type: git
      name: ProjectName/devops

steps:
- checkout: devops
- template: template.yaml@devops

Поскольку - checkout: devops будет загружать только содержимое репозиториев, scripts/myscript.ps1 достаточно, scripts/myscript.ps1@devops нам не нужно. Непосредственной причиной вашей проблемы является то, что Azure Devops Service не загружает автоматически содержимое онлайн-репозитория devops локальному агенту. Просто убедитесь, что содержимое репозитория devops загружено, и все будет в порядке.

1 голос
/ 08 мая 2020

Попробуйте это:

#templates/template.yaml
parameters:
- name: repo  # defaults for any parameters that aren't specified
  default: ''

steps:
  - task: PowerShell@2
    inputs:
      filePath: ${{ parameters.repo }}/scripts/myscript.ps1

и определение сборки:

resources:
  repositories:
    - repository: devops
      type: github
      name: kmadof/devops-templates
      endpoint: kmadof

steps:
- checkout: self
- checkout: devops
- template: templates/template.yaml@devops
  parameters:
    repo: devops-templates

Если вы удалили checkout: self, вы получите их содержимое devops репо прямо в (Agent.BuildDirectory) . Пожалуйста, посмотрите здесь для получения дополнительной информации.

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