Можно ли ссылаться на локальный шаблон в качестве вставленного шага (ов) в удаленном шаблоне.
Извините, что нет, вы не можете.
Когда вы вызываете один файл yml из репозитория другого шаблона, все файлы шаблона должны быть из одного репозитория. Поскольку логика шаблонных репозиториев, вызываемых в других репозиториях, делает template repository
полностью независимым , он хранит только шаблоны и используется другими репозиториями. Значение этого дизайна заключается в улучшении скорости повторного использования кода, называемой шаблонами. Другим преимуществом является регулирование шаблонов.
Таким образом, когда вы используете репозиторий шаблонов в YAML, шаблоны могут поступать только из этого репозитория шаблонов.
Есть ли другой подход, который я могу использовать, который позволил бы мне это сделать?
Есть два метода.
- Сохранить это
templates/steps/my-local-steps.yml
файл в вашем хранилище шаблонов. Тогда не нужно добавлять другой код. Просто сценарий в порядке.
Если это так, в вашем файле .vsts.ci.yml
есть некоторые ошибки.
resources:
repositories:
- repository: templates
type: git
name: {projectname}/{repos name}
jobs:
- template: jobs/build.yml@templates
parameters:
preBuild:
- template: {local steps which store at your template repository}.yml
Обратитесь к этому документу для справочного формата шаблона: https://docs.microsoft.com/en-us/azure/devops/pipelines/process/templates?view=azure-devops#using-other-repositories
- Преобразуйте этот
templates/steps/my-local-steps.yml
в скрипт, добавьте чистый скрипт в эту вставку YAML.
Надеюсь, это поможет вам.