AzureSpringCloud@0 - Azure Spring Apps v0 任务

此任务将应用程序部署到 Azure Spring Apps 并管理这些部署。

语法

# Azure Spring Apps v0
# Deploy applications to Azure Spring Apps and manage deployments.
- task: AzureSpringCloud@0
  inputs:
    azureSubscription: # string. Alias: ConnectedServiceName. Required. Azure subscription. 
    Action: 'Deploy' # 'Deploy' | 'Set Production' | 'Delete Staging Deployment'. Required. Action. Default: Deploy.
    AzureSpringCloud: # string. Required. Azure Spring Apps Name. 
    AppName: # string. Required. App. 
    #DeploymentType: 'Artifacts' # 'Artifacts' | 'CustomContainer'. Optional. Use when Action = Deploy. Deployment Type. Default: Artifacts.
    #UseStagingDeployment: true # boolean. Optional. Use when Action = Deploy || Action = Set Production. Use Staging Deployment. Default: true.
    #CreateNewDeployment: false # boolean. Optional. Use when Action = Deploy && UseStagingDeployment = false. Create a new staging deployment if one does not exist. Default: false.
    #DeploymentName: # string. Optional. Use when UseStagingDeployment = false && Action != Delete Staging Deployment. Deployment. 
    #Package: '$(System.DefaultWorkingDirectory)/**/*.jar' # string. Optional. Use when Action = Deploy && DeploymentType = Artifacts. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.jar.
    #RegistryServer: 'docker.io' # string. Optional. Use when Action = Deploy && DeploymentType = CustomContainer. Registry Server. Default: docker.io.
    #RegistryUsername: # string. Optional. Use when Action = Deploy && DeploymentType = CustomContainer. Registry Username. 
    #RegistryPassword: # string. Optional. Use when Action = Deploy && DeploymentType = CustomContainer. Registry Password. 
    #ImageName: 'hello-world:v1' # string. Optional. Use when Action = Deploy && DeploymentType = CustomContainer. Image Name and Tag. Default: hello-world:v1.
    #ImageCommand: # string. Optional. Use when Action = Deploy && DeploymentType = CustomContainer. Image Command. 
    #ImageArgs: # string. Optional. Use when Action = Deploy && DeploymentType = CustomContainer. Image Arguments. 
    #ImageLanguageFramework: # 'springboot'. Optional. Use when Action = Deploy && DeploymentType = CustomContainer. Language Framework. 
  # Application and Configuration Settings
    #Builder: # string. Optional. Use when Action = Deploy && DeploymentType = Artifacts. Builder. 
    #EnvironmentVariables: # string. Optional. Use when Action = Deploy. Environment Variables. 
    #JvmOptions: # string. Optional. Use when Action = Deploy && DeploymentType = Artifacts. JVM Options. 
    #RuntimeVersion: 'Java_11' # 'Java_8' | 'Java_11' | 'Java_17' | 'Java_21' | 'NetCore_31'. Optional. Use when Action = Deploy && DeploymentType = Artifacts. Runtime Version. Default: Java_11.
    #DotNetCoreMainEntryPath: # string. Optional. Use when RuntimeVersion = NetCore_31. Main Entry Path. 
    #Version: # string. Optional. Use when Action = Deploy. Version.
# Azure Spring Apps v0
# Deploy applications to Azure Spring Apps and manage deployments.
- task: AzureSpringCloud@0
  inputs:
    azureSubscription: # string. Alias: ConnectedServiceName. Required. Azure subscription. 
    Action: 'Deploy' # 'Deploy' | 'Set Production' | 'Delete Staging Deployment'. Required. Action. Default: Deploy.
    AzureSpringCloud: # string. Required. Azure Spring Apps Name. 
    AppName: # string. Required. App. 
    #DeploymentType: 'Artifacts' # 'Artifacts' | 'CustomContainer'. Optional. Use when Action = Deploy. Deployment Type. Default: Artifacts.
    #UseStagingDeployment: true # boolean. Optional. Use when Action = Deploy || Action = Set Production. Use Staging Deployment. Default: true.
    #CreateNewDeployment: false # boolean. Optional. Use when Action = Deploy && UseStagingDeployment = false. Create a new staging deployment if one does not exist. Default: false.
    #DeploymentName: # string. Optional. Use when UseStagingDeployment = false && Action != Delete Staging Deployment. Deployment. 
    #Package: '$(System.DefaultWorkingDirectory)/**/*.jar' # string. Optional. Use when Action = Deploy && DeploymentType = Artifacts. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.jar.
    #RegistryServer: 'docker.io' # string. Optional. Use when Action = Deploy && DeploymentType = CustomContainer. Registry Server. Default: docker.io.
    #RegistryUsername: # string. Optional. Use when Action = Deploy && DeploymentType = CustomContainer. Registry Username. 
    #RegistryPassword: # string. Optional. Use when Action = Deploy && DeploymentType = CustomContainer. Registry Password. 
    #ImageName: 'hello-world:v1' # string. Optional. Use when Action = Deploy && DeploymentType = CustomContainer. Image Name and Tag. Default: hello-world:v1.
    #ImageCommand: # string. Optional. Use when Action = Deploy && DeploymentType = CustomContainer. Image Command. 
    #ImageArgs: # string. Optional. Use when Action = Deploy && DeploymentType = CustomContainer. Image Arguments. 
    #ImageLanguageFramework: # 'springboot'. Optional. Use when Action = Deploy && DeploymentType = CustomContainer. Language Framework. 
  # Application and Configuration Settings
    #Builder: # string. Optional. Use when Action = Deploy && DeploymentType = Artifacts. Builder. 
    #EnvironmentVariables: # string. Optional. Use when Action = Deploy. Environment Variables. 
    #JvmOptions: # string. Optional. Use when Action = Deploy && DeploymentType = Artifacts. JVM Options. 
    #RuntimeVersion: 'Java_11' # 'Java_8' | 'Java_11' | 'NetCore_31'. Optional. Use when Action = Deploy && DeploymentType = Artifacts. Runtime Version. Default: Java_11.
    #DotNetCoreMainEntryPath: # string. Optional. Use when RuntimeVersion = NetCore_31. Main Entry Path. 
    #Version: # string. Optional. Use when Action = Deploy. Version.
# Azure Spring Apps v0
# Deploy applications to Azure Spring Apps and manage deployments.
- task: AzureSpringCloud@0
  inputs:
    azureSubscription: # string. Alias: ConnectedServiceName. Required. Azure subscription. 
    Action: 'Deploy' # 'Deploy' | 'Set Production' | 'Delete Staging Deployment'. Required. Action. Default: Deploy.
    AzureSpringCloud: # string. Required. Azure Spring Apps Name. 
    AppName: # string. Required. App. 
    #UseStagingDeployment: true # boolean. Optional. Use when Action = Deploy || Action = Set Production. Use Staging Deployment. Default: true.
    #CreateNewDeployment: false # boolean. Optional. Use when Action = Deploy && UseStagingDeployment = false. Create a new staging deployment if one does not exist. Default: false.
    #DeploymentName: # string. Optional. Use when UseStagingDeployment = false && Action != Delete Staging Deployment. Deployment. 
    #Package: '$(System.DefaultWorkingDirectory)/**/*.jar' # string. Optional. Use when Action = Deploy. Package or folder. Default: $(System.DefaultWorkingDirectory)/**/*.jar.
  # Application and Configuration Settings
    #EnvironmentVariables: # string. Optional. Use when Action = Deploy. Environment Variables. 
    #JvmOptions: # string. Optional. Use when Action = Deploy. JVM Options. 
    #RuntimeVersion: 'Java_11' # 'Java_8' | 'Java_11' | 'NetCore_31'. Optional. Use when Action = Deploy. Runtime Version. Default: Java_11.
    #DotNetCoreMainEntryPath: # string. Optional. Use when RuntimeVersion = NetCore_31. Main Entry Path. 
    #Version: # string. Optional. Use when Action = Deploy. Version.

输入

azureSubscription - Azure 订阅
输入别名: ConnectedServiceNamestring. 必需。

指定部署的 Azure 资源管理器 订阅


Action - 行动
string. 必需。 允许的值: DeploySet Production (设置生产部署) 、 Delete Staging Deployment。 默认值:Deploy

要对 Azure Spring Apps 执行的操作。


AzureSpringCloud - Azure Spring Apps 名称
string. 必需。

要部署的 Azure Spring Apps 实例的名称或资源 ID。


AppName - 应用程序
string. 必需。

要部署的 Azure Spring Apps 应用的名称。 在执行任务之前,应用必须存在。


DeploymentType - 部署类型
string. 可选。 在 时 Action = Deploy使用 。 允许的值: ArtifactsCustomContainer (自定义容器) 。 默认值:Artifacts

若要使用源代码或 Java 包进行部署,请选择“项目”;若要使用容器映像进行部署,请选择“自定义容器”。


UseStagingDeployment - 使用过渡部署
boolean. 可选。 在 时 Action = Deploy || Action = Set Production使用 。 默认值:true

在任务运行时,此输入会自动选择设置为 staging的部署。

如果设置为 true,则将任务应用于在执行时设置为暂存部署的部署。 如果省略,则必须设置 DeploymentName 参数。


CreateNewDeployment - 创建新的过渡部署(如果不存在)。
boolean. 可选。 在 时 Action = Deploy && UseStagingDeployment = false使用 。 默认值:false

如果设置为 true,并且指定的部署 DeploymentName 在执行时不存在,则会创建该部署。 如果省略,则必须设置 DeploymentName 参数。


DeploymentName - 部署
string. 可选。 在 时 UseStagingDeployment = false && Action != Delete Staging Deployment使用 。

此任务将应用到的 部署 。 如果不使用蓝绿部署,请将此字段设置为 default。 该值必须以字母开头,并且仅包含小写字母和数字。


Package - 包或文件夹
string. 可选。 在 时 Action = Deploy && DeploymentType = Artifacts使用 。 默认值:$(System.DefaultWorkingDirectory)/**/*.jar

包含适用于 Java 的 Azure Spring Apps 应用内容的包或文件夹的文件路径 (.jar 文件, .zip 适用于 .NET Core) 。
支持变量 ( 生成 | 版本) 和通配符。
例如: $(System.DefaultWorkingDirectory)/**/*.jar


Package - 包或文件夹
string. 可选。 在 时 Action = Deploy使用 。 默认值:$(System.DefaultWorkingDirectory)/**/*.jar

包含适用于 Java 的 Azure Spring Apps 应用内容的包或文件夹的文件路径 (.jar 文件, .zip 适用于 .NET Core) 。
支持变量 ( 生成 | 版本) 和通配符。
例如: $(System.DefaultWorkingDirectory)/**/*.jar


Builder - 建设者
string. 可选。 在 时 Action = Deploy && DeploymentType = Artifacts使用 。

选择 VMware Tanzu® 生成服务的™生成器,这可以在企业层中使用。
有关详细说明,检查使用 Tanzu 生成服务


RegistryServer - 注册表服务器
string. 可选。 在 时 Action = Deploy && DeploymentType = CustomContainer使用 。 默认值:docker.io

容器映像的注册表。 默认值:docker.io。


RegistryUsername - 注册表用户名
string. 可选。 在 时 Action = Deploy && DeploymentType = CustomContainer使用 。

容器注册表的用户名。


RegistryPassword - 注册表密码
string. 可选。 在 时 Action = Deploy && DeploymentType = CustomContainer使用 。

容器注册表的密码。


ImageName - 映像名称和标记
string. 可选。 在 时 Action = Deploy && DeploymentType = CustomContainer使用 。 默认值:hello-world:v1

容器映像标记。


ImageCommand - Image 命令
string. 可选。 在 时 Action = Deploy && DeploymentType = CustomContainer使用 。

容器映像的 命令。


ImageArgs - 图像参数
string. 可选。 在 时 Action = Deploy && DeploymentType = CustomContainer使用 。

容器映像的参数。


ImageLanguageFramework - 语言框架
string. 可选。 在 时 Action = Deploy && DeploymentType = CustomContainer使用 。 允许的值: springboot


EnvironmentVariables - 环境变量
string. 可选。 在 时 Action = Deploy使用 。

要使用语法 -key value (输入的环境变量,例如: -CUSTOMER_NAME Contoso-WEBSITE_TIME_ZONE) 。 包含空格的值应括在双引号中, (例如: "Eastern Standard Time") 。


JvmOptions - JVM 选项
string. 可选。 在 时 Action = Deploy && DeploymentType = Artifacts使用 。

编辑应用的 JVM 选项。 包含 JVM 选项的字符串,例如 -Xms1024m -Xmx2048m


JvmOptions - JVM 选项
string. 可选。 在 时 Action = Deploy使用 。

编辑应用的 JVM 选项。 包含 JVM 选项的字符串,例如 -Xms1024m -Xmx2048m


RuntimeVersion - 运行时版本
string. 可选。 在 时 Action = Deploy && DeploymentType = Artifacts使用 。 允许的值: Java_8 (Java 8) 、 Java_11 (Java 11) 、 Java_17 (Java 17) 、 Java_21 (Java 21) 、 NetCore_31 (.Net Core 3.1) 。 默认值:Java_11

将运行应用的运行时版本。


RuntimeVersion - 运行时版本
string. 可选。 在 时 Action = Deploy && DeploymentType = Artifacts使用 。 允许的值: Java_8 (Java 8) 、 Java_11 (Java 11) 、 NetCore_31 (.Net Core 3.1) 。 默认值:Java_11

将运行应用的运行时版本。


RuntimeVersion - 运行时版本
string. 可选。 在 时 Action = Deploy使用 。 允许的值: Java_8 (Java 8) 、 Java_11 (Java 11) 、 NetCore_31 (.Net Core 3.1) 。 默认值:Java_11

将运行应用的运行时版本。


DotNetCoreMainEntryPath - 主条目路径
string. 可选。 在 时 RuntimeVersion = NetCore_31使用 。

相对于 zip 根目录的 .NET 可执行文件的路径。


Version - 版本
string. 可选。 在 时 Action = Deploy使用 。

部署版本。 如果未设置,则版本保持不变。


任务控制选项

除了任务输入,所有任务都有控制选项。 有关详细信息,请参阅 控制选项和常见任务属性

输出变量

此任务定义以下 输出变量,可在下游步骤、作业和阶段中使用。

testEndpoint
仅在“部署”操作之后。 包含用于访问更新部署的专用 URL。

注解

使用此任务将应用程序部署到 Azure Spring Apps 并管理 Azure Spring Cloud 部署

示例

以下示例演示常见使用方案。 有关详细信息,请参阅 自动将应用程序部署到 Azure Spring Apps

删除暂存部署

通过“删除暂存部署”操作可删除未接收生产流量的部署。 这将释放该部署使用的资源,为新的暂存部署提供空间:

variables:
  azureSubscription: Contoso

steps:
- task: AzureSpringCloud@0
  continueOnError: true # Don't fail the pipeline if a staging deployment doesn't already exist.
  inputs:
    continueOnError: true
    inputs:
    azureSubscription: $(azureSubscription)
    Action: 'Delete Staging Deployment'
    AppName: customer-api
    AzureSpringCloud: contoso-dev-az-spr-cld

正在部署

部署到生产

以下示例部署到 Azure Spring Apps 中的默认生产部署。 这是使用基本 SKU 时唯一可能的部署方案:

注意

包搜索模式应该只返回一个包。 如果生成任务生成多个 JAR 包(如 sources.jar 和 javadoc.jar),则需要优化搜索模式,使其仅匹配应用程序二进制项目。

variables:
  azureSubscription: Contoso

steps:
- task: AzureSpringCloud@0
    inputs:
    azureSubscription: $(azureSubscription)
    Action: 'Deploy'
    AzureSpringCloud: contoso-dev-az-spr-cld
    AppName: customer-api
    UseStagingDeployment: false
    DeploymentName: default
    Package: '$(System.DefaultWorkingDirectory)/**/*customer-api*.jar'

蓝绿部署

以下示例部署到预先存在的暂存部署。 此部署只有在被设置为生产部署之后才会接收生产流量。

variables:
  azureSubscription: Contoso

steps:
- task: AzureSpringCloud@0
    inputs:
    azureSubscription: $(azureSubscription)
    Action: 'Deploy'
    AzureSpringCloud: contoso-dev-az-spr-cld
    AppName: customer-api
    UseStagingDeployment: true
    Package: '$(System.DefaultWorkingDirectory)/**/*customer-api*.jar'

有关蓝绿部署(包括替代方法)的详细信息,请参阅蓝绿部署策略

设置生产部署

以下示例将当前暂存部署设置为生产部署,有效地交换接收生产流量的部署。

variables:
  azureSubscription: Contoso

steps:
- task: AzureSpringCloud@0
    inputs:
    azureSubscription: $(azureSubscription)
    Action: 'Set Production'
    AzureSpringCloud: contoso-dev-az-spr-cld
    AppName: customer-api
    UseStagingDeployment: true

要求

要求 说明
管道类型 YAML,经典内部版本,经典版本
运行平台 Agent、DeploymentGroup
需求
功能 此任务不满足作业中后续任务的任何要求。
命令限制 任意
可设置的变量 任意
代理版本 2.104.1 或更高版本
任务类别 部署