Передайте ссылку на файл в качестве параметра вставленному шагу из другого репозитория в развертывании Azure YAML

#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. Прохладный. Я рад, что вы решили свою проблему. Можете ли вы рассмотреть возможность голосования за мой ответ?