Мой клиент использует TFS 2018 в качестве инструмента CI / CD . Я знаю, что вы можете использовать TFS для развертывания шаблонов ARM в Azure , но я никогда раньше этого не делал. Обычно я просто использую портал или PowerShell. Я знаю, что мне нужно создать конвейер для выполнения развертывания, но у меня есть несколько других вопросов, которые меня не устраивают:
Я был бы признателен за любые советы / предложения в отношении мои вопросы выше, спасибо!
Прежде всего, я бы порекомендовал вам ознакомиться с используйте шаблоны ARM и разверните их локально, прежде чем пытаться сделать это из Azure DevOps. Это поможет вам понять, что происходит, и убедиться, что ваши шаблоны работают, прежде чем добавлять дополнительные сложности Azure DevOps. Вы можете развернуть шаблоны ARM из PowerShell или CLI.
Чтобы ответить на ваши вопросы:
Вы можете использовать любой из них. Нет необходимости использовать конвейеры сборки или выпуска, развертывание шаблонов ARM будет работать с ними. Выбор обычно зависит от вашего процесса и того, как вы хотите, чтобы ваше развертывание работало. Конвейеры сборки обычно создают ресурсы для тестирования или как часть сборки, тогда как выпуски обычно предназначены для выпуска приложений и этапов поддержки, шлюзов и т. Д. Все это говорит о том, что я также рекомендовал бы взглянуть на новые конвейеры на основе YAML, которые устраняют различие между сборкой и выпуском, так как это то, на чем будет сосредоточено внимание в будущем.
Вы можете сделать то же самое. У вас может быть один большой шаблон ARM, который делает все, просто убедитесь, что ваши зависимости настроены в шаблоне, или у вас может быть несколько шаблонов.Если у вас есть несколько шаблонов, вы можете запускать их по одному в качестве шага в Azure DevOps, или вы можете использовать вложенные шаблоны, чтобы ваш шаблон верхнего уровня вызывал подшаблоны.
Вы можете создать группу ресурсов как часть вашего ARM шаблон, однако он немного усложняет его. Шаблоны ARM имеют несколько областей действия, большинство ресурсов создается в области действия группы ресурсов (как если бы они находились внутри группы ресурсов), но группы ресурсов создаются в области действия подписки (они находятся внутри подписки). Чтобы создать оба в своем шаблоне, вам необходимо запустить развертывание в области подписки, а затем использовать вложенный шаблон для развертывания элементов области ресурсов. У меня есть подробное объяснение, как это сделать здесь .
Если вы хотите развернуть в нескольких средах в одном конвейере, вы можете сделать это, вам нужно будет использовать либо конвейер выпуска ( не сборка) или конвейер YAML. Оба они поддерживают использование «стадий», где каждая стадия может быть средой. Затем вы можете выполнить развертывание в каждой среде в нужном вам порядке. Подробную информацию об этом можно найти здесь для конвейеров выпуска и здесь для YAML.
Я бы использовал конвейеры выпуска с задачей развертывания группы ресурсов. Это самый простой способ использовать для этой цели TFS.