#azure-devops #azure-pipelines #azure-pipelines-yaml
#azure-devops #azure-конвейеры #azure-pipelines-yaml
Вопрос:
У меня есть репозиторий заданий на основе yaml, которые я хотел бы повторно использовать в ряде сценариев yaml. Однако сценарий, который будет использовать задания, находится в другом репозитории.
Повторно используемое задание принимает путь к файлу в качестве входного параметра. И по какой-то причине файл не может быть найден, когда импортированное задание выполняется конвейером.
Как мне ссылаться на файл в параметре из основного задания, чтобы его можно было найти при выполнении импортированного задания?
# MyMainScriptTemplate.yml that will be executed by the pipeline
trigger:
- master
resources:
repositories:
- repository: AzureTemplates
type: git
name: AzureTemplates
jobs:
- template: /FunctionApp/DeployFunctionApp.yml@AzureTemplates
parameters:
file: /Azure/Functions/template.json #This can be found when executing ...
# ReusableJobTemplate.yml defines a job that should be referenced from the main script
parameters:
- name: file
type: string
jobs:
- job: DeployFunctionApp
steps:
- task: AzureResourceManagerTemplateDeployment@3
inputs:
deploymentScope: "Resource Group"
azureResourceManagerConnection: "Dev"
subscriptionId: "XYZ"
action: "Create Or Update Resource Group"
resourceGroupName: "XYZ"
location: "West Europe"
templateLocation: "Linked artifact"
csmFile: ${{ parameters.file }}
deploymentMode: "Incremental"
displayName: "Run a one-line script"
Ответ №1:
Пожалуйста, проверьте, как ведет себя mulirepo.
Я бы порекомендовал вам два шага:
- добавьте
- checkout: AzureTemplates
шаг перед вызовом шаблона - и измените путь с
/Azure/Functions/template.json
на(Agent.BuildDirectory)/AzureTemplates/Azure/Functions/template.json
Комментарии:
1. Да, спасибо — я ошибся в пути к каталогу сборки…
2. Прохладный. Я рад, что вы решили свою проблему. Можете ли вы рассмотреть возможность голосования за мой ответ?