AzureSpringCloud@0 - Azure Spring Apps v0 工作
此工作會將應用程式部署至 Azure Spring Apps,並管理這些部署。
重要
Azure Spring Apps 基本/標準和企業方案支援這項工作。 如需詳細資訊,請參閱 將應用程式部署自動化至 Azure Spring Apps。
Syntax
# 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 訂用帳戶
輸入別名: ConnectedServiceName
。 string
. 必要。
指定部署的 Azure Resource Manager 訂用帳戶。
Action
- 行動
string
. 必要。 允許的值: Deploy
、 Set Production
(設定生產部署) 、 Delete Staging Deployment
。 預設值:Deploy
。
在 Azure Spring Apps 上執行的動作。
AzureSpringCloud
- Azure Spring Apps 名稱
string
. 必要。
要部署之 Azure Spring Apps 實例的名稱或資源識別碼。
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
。
適用於 .NET Core) 的套件或資料夾的檔案路徑,.zip
其中包含適用於Java的 Azure Spring Apps 應用程式內容 (.jar
檔案。
支援 ( 組建 | 發行) 和通配符的變數。
例如,$(System.DefaultWorkingDirectory)/**/*.jar
Package
- 封裝或資料夾
string
. 選擇性。 使用 時 Action = Deploy
。 預設值:$(System.DefaultWorkingDirectory)/**/*.jar
。
適用於 .NET Core) 的套件或資料夾的檔案路徑,.zip
其中包含適用於Java的 Azure Spring Apps 應用程式內容 (.jar
檔案。
支援 ( 組建 | 發行) 和通配符的變數。
例如,$(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
僅限 'Deploy' 動作之後。 包含用於存取更新部署的私人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
規格需求
需求 | 描述 |
---|---|
管線類型 | YAML、傳統組建、傳統版本 |
在上執行 | Agent、DeploymentGroup |
要求 | 無 |
Capabilities | 此工作不符合作業中後續工作的任何需求。 |
命令限制 | 任何 |
可設定變數 | 任何 |
代理程式版本 | 2.104.1 或更新版本 |
工作類別 | 部署 |