0

我在通过 Azure DevOps 和AzureSpringCloud@0任务部署 Azure Spring Cloud 时遇到了一个奇怪的问题。

我尝试使用此任务设置蓝/绿部署。我有舞台蓝色和舞台绿色。如果我的 Azure DevOps 任务部署为蓝色,Azure 门户中的一切似乎都正常,但如果我的任务部署为绿色,则根据 Azure 没有生产部署。

这是 Azure DevOps 任务的输出:

将应用程序 my-project 上的活动部署设置为蓝色

这是 Azure 门户中的警告:

此应用程序没有生产部署。您可以在部署面板中设置生产部署。

它看起来像这样:

具有两个暂存部署的 Azure 门户

使用这样的 Azure CLI 命令...

az spring-cloud 应用部署列表...

...我得到了两个部署的 JSON,但两者都没有激活。

[
  {
    "id": "/.../deployments/blue",
    "name": "blue",
    "properties": {
      "active": false,
      "status": "Running"
    }
  },
  {
    "id": "/.../deployments/green",
    "name": "green",
    "properties": {
      "active": false,
      "status": "Running"
    }
  }
]

这是我在 Azure DevOps 中设置任务的方式:

- task: AzureSpringCloud@0
  inputs:
    azureSubscription: 'My-Subscription'
    Action: 'Deploy'
    AzureSpringCloud: my-spring-cloud
    AppName: my-project
    UseStagingDeployment: true
    Package: $(Pipeline.Workspace)/my-java-app.jar
    RuntimeVersion: Java_8

- task: AzureSpringCloud@0
  inputs:
    azureSubscription: 'My-Subscription'
    Action: 'Set Production'
    AzureSpringCloud: my-spring-cloud
    AppName: my-project
    UseStagingDeployment: true      

如果我导航到我的应用程序 URL,应用程序正在运行,但我不确定哪个阶段。如果我再次运行 Azure DevOps 管道,它会知道绿色当前正在生产中并切换为蓝色,但我不知道它从哪里获取此信息。

这是一个已知问题还是我做错了什么?

4

0 回答 0