Azure Service Fabric — непрерывная интеграция с VSTS

Можно ли настроить непрерывную интеграцию на VSTS без использования внешней виртуальной машины в качестве агента сборки (https://azure.microsoft.com/en-us/documentation/articles/service-fabric-set-up-continuous-интеграции/)?

Чего я хотел бы добиться, так это иметь одно решение Service Fabric с двумя службами с сохранением состояния или без сохранения состояния (serviceA и serviceB). Я хочу собрать и развернуть их отдельно как разные задания сборки в VSTS, но развернуть их в одном и том же кластере Service Fabric в Azure (fabric:/App/ServiceA, Fabric:/App/ServiceB).


person Przemek Marcinkiewicz    schedule 22.03.2016    source источник


Ответы (3)


Начиная с выпуска Service Fabric SDK 2.1.150 и среды выполнения 5.1.150, можно развернуть приложение Service Fabric с помощью размещенного агента сборки VSTS, поскольку зависимости можно добавить с помощью пакета NuGet. Дополнительные сведения см. в следующем видеоролике. http://www.dotjson.uk/azure-service-fabric-continous-integration-and-deployment-in-15-minutes/

В вашем конкретном случае; просто создайте 2 определения сборки (по 1 для каждой службы) и 2 определения выпуска (по 1 для каждой службы) и подключите их к одному размещенному кластеру Service Fabric.

person Dotjson    schedule 22.09.2016
comment
обратите внимание: если вы выполняете развертывание в контейнерах, вам все равно понадобится агент сборки, поскольку размещенный агент сборки не обеспечивает прямую поддержку докера. Также задача vsts service Fabric работает только для Windows, а не для Linux. - person code4cause; 10.02.2017

К сожалению, развертывание приложений зависит от установленного пакета SDK Service Fabric, поэтому вам потребуется настроить агент в соответствии с инструкциями. Если вы не хотите платить за виртуальную машину Azure, вы можете рассмотреть возможность локального запуска службы агента, например. На вашем девбоксе.

Обратите внимание, что с помощью Service Fabric вы развертываете приложения, а не службы. Однако вы можете обновлять сервисы самостоятельно.

person charisk    schedule 22.03.2016
comment
Что вы подразумеваете под самостоятельным обновлением сервисов? - person Przemek Marcinkiewicz; 22.03.2016
comment
Если вы хотите развернуть новую версию службы A, вы можете сделать это без развертывания новой версии службы B. - person charisk; 22.03.2016
comment
Верно, но вы только что сказали, что я развертываю приложение, а не службы, поэтому возникает новый вопрос: как вы можете добиться обновления отдельных служб? - person Przemek Marcinkiewicz; 22.03.2016
comment
Да, единицей развертывания является приложение, но вы по-прежнему можете обновлять отдельные части приложения. Если вы хотите обновить только одну службу в приложении, включите только обновленную службу в пакет приложения и оставьте старую службу без изменений. Вы также можете создать пакет diff, который содержит только отдельные компоненты приложения, которые вы хотите изменить, и использовать их для обновления. - person Matt Thalman; 23.03.2016

Похоже, вам нужно установить SDK сервисной ткани на машине сборки, и я предполагаю, что у размещенного агента этого нет. Если это так, то да, вам нужно создать собственную виртуальную машину сервера сборки.

person Dylan Smith    schedule 22.03.2016
comment
Размещенный агент теперь должен иметь SDK Service Fabric, так как образ был недавно обновлен. - person Steve L.; 14.06.2016