AzureSpringCloud@0 - Azure Spring Apps v0 任务
此任务将应用程序部署到 Azure Spring Apps 并管理这些部署。
重要
Azure Spring Apps 基本/标准和企业计划支持此任务。 有关详细信息,请参阅 自动将应用程序部署到 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.
输入
Action
- 行动
string
. 必需。 允许的值: Deploy
、 Set 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
使用 。 允许的值: Artifacts
、 CustomContainer
(自定义容器) 。 默认值: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 基本/标准和企业计划支持此任务。 有关详细信息,请参阅 自动将应用程序部署到 Azure Spring Apps。
示例
以下示例演示常见使用方案。 有关详细信息,请参阅 自动将应用程序部署到 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