使用Azure DevOps部署具有不同名称的Service Fabric服务

问题描述 投票:0回答:1

我有一个带有一种服务的Service Fabric应用程序(MyService)。现在,我正在使用构建管道构建应用程序,然后使用发布管道将工件部署到Azure托管的群集上。

我想要在同一集群上使用不同名称(例如DEV_MyService,QA_MyService)创建服务的多个实例。理想的选择是在发布管道中使用一个工件和多个阶段。

有没有一种方法可以使用Azure DevOps和发布管道来实现?

我正在尝试参数化服务名称,但似乎不起作用。

azure azure-devops azure-service-fabric
1个回答
0
投票

您可以通过多种方式执行此操作:

  1. 在现有应用程序中创建新的service
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
  1. 在多个应用程序(一种应用程序类型)中创建服务:
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管道变量:

  1. appName
  2. serviceName

为每个阶段定义一个不同的值。

© www.soinside.com 2019 - 2024. All rights reserved.