При использовании VSTS вы можете иметь встроенную функцию & Агенты освобождения, которые требуют подключения к сети на youraccount.visualstudio.com. Обратите внимание, что определения сборки и выпуска используют один и тот же тип агента (для выпуска или сборки нет разных агентов, это тот же бит с несколькими платформами двоичного кода, написанный для .NET Core).
Затем машина, на которой работают агенты, должна иметь сетевое подключение к наборам машин, которые вы назвали DEV, QA, STG, Prod, которые я назову целевыми машинами.
Я бы посоветовал вам создать определение сборки, которое создает артефакты (только двоичные файлы/файлы xml/config, которые создает сборка). Затем создайте определение выпуска, связанное с этой сборкой: таким образом он может получить доступ к artifacts и развернуть их на своих целевых машинах, которые не имеют подключения к Интернету. Определение выпуска будет содержать четыре среды, первый из которых содержит список задач для развертывания в DEV, второй - QA и т. Д. Каждое из условий инициируется успешным развертыванием предыдущего, но DEV, которое составляет automatically started after release creation.
Когда ваш релиз создан, выполнение списка задач начинается с одного агента, запущенного по посылке: здесь вы можете использовать комбо-операцию copy, затем execute PowerShell On Target операций, чтобы развернуть артефакты на целевых компьютерах.
Если для какой-либо среды набор задач идентичен или аналогичен, вы можете создать Task Group и повторно использовать его в нескольких средах.
В итоге:
- сборки агентов работает на машинах внутри зданий;
- агенты по строительству нуждаются в прямой видимости для целей машин;
- целевые машины не нуждаются в подключении к Интернету;
Следующая диаграмма подводит итог графический линию концепции видимости между агентом и целями: 