我有一个带有一种服务的Service Fabric应用程序(MyService)。现在,我正在使用构建管道构建应用程序,然后使用发布管道将工件部署到Azure托管的群集上。
我想要在同一集群上使用不同名称(例如DEV_MyService,QA_MyService)创建服务的多个实例。理想的选择是在发布管道中使用一个工件和多个阶段。
有没有一种方法可以使用Azure DevOps和发布管道来实现?
我正在尝试参数化服务名称,但似乎不起作用。
您可以通过多种方式执行此操作:
sfctl application create --app-name fabric:/TestApp --app-type TestAppType --app-version 1.0
sfctl service create --app-id TestApp --name fabric:/TestApp/TestSvc1 --service-type TestServiceType --stateless --instance-count 1 --singleton-scheme
sfctl service create --app-id TestApp --name fabric:/TestApp/TestSvc2 --service-type TestServiceType --stateless --instance-count 1 --singleton-scheme
sfctl application create --app-name fabric:/TestApp1 --app-type TestAppType --app-version 1.0
sfctl application create --app-name fabric:/TestApp2 --app-type TestAppType --app-version 1.0
sfctl service create --app-id TestApp1 --name fabric:/TestApp/TestSvc --service-type TestServiceType --stateless --instance-count 1 --singleton-scheme
sfctl service create --app-id TestApp2 --name fabric:/TestApp/TestSvc --service-type TestServiceType --stateless --instance-count 1 --singleton-scheme
如果要使此参数可参数化,则可以在文件内部使用task that replaces placeholders。
脚本文件(例如#1)如下所示:
sfctl application create --app-name fabric:/__appName__ --app-type TestAppType --app-version 1.0
sfctl service create --app-id __appName__ --name fabric:/__appName__/__serviceName__ --service-type TestServiceType --stateless --instance-count 1 --singleton-scheme
并且您需要指定两个Azure DevOps管道变量:
为每个阶段定义一个不同的值。