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 訂用帳戶
輸入別名: ConnectedServiceNamestring. 必要。

指定部署的 Azure Resource Manager 訂用帳戶。


Action - 行動
string. 必要。 允許的值: DeploySet 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。 允許的值: 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

適用於 .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_17Java_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.jarjavadoc.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 或更新版本
工作類別 部署