Azure Pipelines task retirement announcement

Azure Pipelines 內建任務,幫助你建置、測試、包裝及部署應用程式。 隨著技術與服務的演進,舊有的任務版本會被更新、更安全且支援更完善的替代方案取代。

於 2026 年 11 月 24 日,本文列出的 Azure Pipelines 任務將正式退休。 這些任務已經被棄用、使用率低,或是舊有的內建任務,不再在 Azure Pipelines 主要任務倉庫中維護。

Important

此排程適用於 Azure DevOps 服務。 Azure DevOps Server 的任何退休或移除排程都會另外通知。

重要日期

里程碑 Date 這是什麼意思?
任務退役 2026年11月24日 該任務不再支援,且不再接收更新,包括安全更新。 管線可以暫時繼續運行,但會顯示退休錯誤。 錯誤不會讓任務或管線失敗。
任務移除 2027年3月15日 此任務已從 Azure Pipelines 中移除。 仍參考該任務的管線會因阻塞錯誤而失敗。

退休和移除是兩回事。 這兩個日期之間的期間,讓管線業主有時間轉移到支援的替代地點。

當一項任務被退休時會發生什麼事?

在退休日期之前,使用受影響任務的管線會顯示警告,建議更換任務。

自 2026年11月24日起:

  • 這項任務已經不再支援。
  • 該任務不會獲得功能、可靠性或安全性更新。
  • 使用該任務的管線會顯示一個退休錯誤,但不會讓任務或管線失敗。
  • 任務可以持續執行直到移除日期,但你應該盡快遷移。

自 2027年3月15日起:

  • 此任務已從 Azure Pipelines 中移除。
  • Azure Pipelines 已無法解決此任務。
  • 參考被移除任務的工作與管線會因阻塞錯誤而失敗。

任務被淘汰

請在 2027 年 3 月 15 日前更新您的管線定義,使用推薦的替換產品。 我們建議在退休日前遷移,這樣你才能繼續參與支援的任務。

推薦的任務版本為截至 2026 年 9 月 25 日最新支援的主要版本。 棄用日期是指公開儲存庫變更 "deprecated": true 加入任務 task.json的日期。 如果原始變更無法取得,但任務中繼資料明確標示了棄用日期,則使用該日期。

Xamarin 支援於 2024 年 5 月 1 日結束,因此所有剩餘的 Xamarin 專屬任務都包含在內。 遷移到 Android 的 .NET、iOS 的 .NET,或 .NET MAUI。 App Center 的分發與測試功能也已退休,因此 App Center 任務指向目前支援的商店分發與裝置測試服務,而非其他 App Center 任務版本。

公開 Azure Pipelines Tasks 倉庫中的任務

退役任務 淘汰日期 建議替代方案
AndroidSigning@2 2024 年 8 月 2 日 AndroidSigning@3
AppCenterDistribute@1 2022年11月14日 可以使用 App Store/TestFlight 或 Google Play 的 Azure Pipelines 擴充功能。 App Center 的發行已經退役。
AppCenterDistribute@2 2022年11月14日 可以使用 App Store/TestFlight 或 Google Play 的 Azure Pipelines 擴充功能。 App Center 的發行已經退役。
AutomatedAnalysis@0 2024 年 8 月 6 日 以適合您應用程式的分析或監控工作流程取代此任務。
AzureCloudPowerShellDeployment@1 2024 年 8 月 5 日 AzurePowerShell@5
AzureCloudPowerShellDeployment@2 2024 年 8 月 5 日 AzurePowerShell@5
AzureMonitor@0 2020 年 7 月 8 日 AzureMonitor@1
AzureNLBManagement@1 2024 年 8 月 5 日 AzurePowerShell@5 或 AzureCLI@3
CacheBeta@0 2024 年 8 月 6 日 Cache@2
Chef@1 2024 年 8 月 5 日 支援的 Chef 擴充功能或使用目前 Chef CLI 的腳本
ChefKnife@1 2024 年 8 月 5 日 支援的 Chef 擴充功能或使用目前 Chef CLI 的腳本
CondaEnvironment@1 2024 年 8 月 5 日 使用腳本步驟來建立和管理 Conda 環境。
DotNetCoreInstaller@0 2024 年 8 月 5 日 UseDotNet@2
DotNetCoreInstaller@1 2024 年 8 月 5 日 UseDotNet@2
DownloadPackage@0 2024 年 8 月 5 日 DownloadPackage@1
DownloadPipelineArtifact@0 2024 年 8 月 2 日 DownloadPipelineArtifact@2
DuffleInstaller@0 2024 年 8 月 6 日 一個腳本步驟,安裝所需的支援 CNAB 工具
FtpUpload@1 2024 年 8 月 5 日 FtpUpload@2
GitHubRelease@0 2024 年 8 月 2 日 GitHubRelease@1
Maven@2 2024 年 8 月 2 日 Maven@4
MysqlDeploymentOnMachineGroup@1 2024 年 8 月 5 日 基於腳本的 MySQL 部署或遷移,使用支援的 MySQL 工具
NuGet@0 2024 年 8 月 5 日 NuGetCommand@2
NuGetInstaller@0 2024 年 8 月 5 日 NuGetToolInstaller@1 與 NuGetCommand@2
NuGetPackager@0 2024 年 8 月 5 日 NuGetCommand@2 使用包隊指揮
NuGetPublisher@0 2024 年 8 月 5 日 NuGetCommand@2 搭配推送指令
NuGetRestore@1 2024 年 8 月 5 日 NuGetCommand@2 使用恢復指令
PackerBuild@0 2024 年 8 月 6 日 PackerBuild@1
PowerShellOnTargetMachines@1 2024 年 8 月 6 日 PowerShellOnTargetMachines@3
PyPIPublisher@0 2026 年 1 月 7 日 TwineAuthenticate@1,接著 twine upload 以腳本步驟
QuickPerfTest@1 2019 年 6 月 4 日 AzureLoadTest@1
ServiceFabricComposeDeploy@0 2024 年 8 月 6 日 ServiceFabricDeploy@1 或是目前支援的容器部署工作流程
XamarinAndroid@1 2024 年 8 月 2 日 遷移到 Android 或 .NET MAUI 專案的 SDK 風格 [.NET] 或 .NET MAUI 專案,並用 DotNetCoreCLI@2.
XamariniOS@2 2024 年 8 月 2 日 遷移到 iOS 或 .NET MAUI 專案的 SDK 風格.NET並DotNetCoreCLI@2用 。
XamarinTestCloud@1 2018年1月11日 BrowserStack App Automate 或其他支援的裝置測試服務

遺留內建任務

這些任務會以傳統套件形式發佈在公開的 Azure Pipelines Tasks 儲存庫之外。 它們原本 task.json 的棄用變更和日期在公開的 Git 歷史中找不到。

退役任務 建議替代方案
AndroidBuild@1 Gradle@4
AndroidSigning@1 AndroidSigning@3
AppCenterDistribute@0 可以使用 App Store/TestFlight 或 Google Play 的 Azure Pipelines 擴充功能。 App Center 的發行已經退役。
ArchiveFiles@1 ArchiveFiles@2
AzureCLI@0 AzureCLI@3
AzureFunction@0 AzureFunction@2
AzurePowerShell@1 AzurePowerShell@5
AzureResourceGroupDeployment@1 AzureResourceGroupDeployment@2
AzureRmWebAppDeployment@2 AzureRmWebAppDeployment@5
AzureWebPowerShellDeployment@1 AzureRmWebAppDeployment@5
CmdLine@1 CmdLine@2
CopyFiles@1 CopyFiles@2
CopyPublishBuildArtifacts@1 CopyFiles@2 與 PublishBuildArtifacts@1
cURLUploader@1 cURLUploader@2
DeployVisualStudioTestAgent@1 VSTest@3
DotNetCoreCLI@0 DotNetCoreCLI@2
DotNetCoreCLI@1 DotNetCoreCLI@2
Gradle@1 Gradle@4
InstallAppleCertificate@0 InstallAppleCertificate@2
InstallAppleCertificate@1 InstallAppleCertificate@2
InstallAppleProvisioningProfile@0 InstallAppleProvisioningProfile@1
InvokeRESTAPI@0 InvokeRESTAPI@1
JenkinsQueueJob@1 JenkinsQueueJob@2
Maven@1 Maven@4
PowerShell@1 PowerShell@2
PublishSymbols@1 PublishSymbols@2
PublishToAzureServiceBus@0 PublishToAzureServiceBus@2
RunVisualStudioTestsusingTestAgent@1 VSTest@3
ServiceFabricUpdateAppVersions@1 ServiceFabricUpdateManifests@2
SonarQubePostTest@1 來自 Visual Studio Marketplace 支援的 SonarQube 擴充功能
SonarQubePreBuild@1 來自 Visual Studio Marketplace 支援的 SonarQube 擴充功能
VSMobileCenterTest@0 BrowserStack App Automate 或其他支援的裝置測試服務
XamarinComponentRestore@0 遷移到 SDK 風格的 .NET 或 .NET MAUI 專案,並用 . 還原。DotNetCoreCLI@2
XamariniOS@1 遷移到 iOS 或 .NET MAUI 專案的 SDK 風格.NET並DotNetCoreCLI@2用 。
XamarinLicense@1 不需要更換任務。 將應用程式從 Xamarin 遷移到 .NET 或 .NET MAUI。
Xcode@2 Xcode@5
Xcode@3 Xcode@5
Xcode@4 Xcode@5
XcodePackageiOS@0 Xcode@5

我需要做什麼?

請搜尋你的 YAML 和經典管線,找出本文列出的任務名稱,並更新為推薦的替代方案。

當轉換到較新的主版本時,請檢視任務輸入,因為大版本可能會包含破壞性變更。 在正式環境使用之前,先測試更新後的管線。

我們也計畫提供一套腳本,讓組織或專案管理員能用來辨識參考已棄用或退休任務的管線。

常見問題

廢棄、退休和移除有什麼差別?

  • 已棄用: 這個任務仍然被支援並持續運作,但不建議用於新管線。 警告會促使移民。
  • 退休: 此任務不支援,且不會收到任何更新,包括安全更新。 在移除之前,它可以繼續運行,但會產生退休錯誤,但不會讓任務或管線失敗。
  • 已移除: 這項任務已不再提供。 引用它的管線會失敗。

我的管線會在2026年11月24日失敗嗎?

不只是因為任務到了退休日期。 已退休的任務顯示錯誤,但該任務或管線不會失敗,任務可以暫時繼續執行。 不過,這個任務不支援,所以你應該立刻遷移。

管線什麼時候會開始失效?

自 2027 年 3 月 15 日起,仍引用已移除任務的管線將因阻塞錯誤而失敗。

退休的任務會收到安全更新嗎?

No. 從退休日期開始,已退休的任務不會收到任何更新,包括安全更新。

我可以繼續使用已退休的任務直到移除日期嗎?

該任務在過渡期間可能繼續執行,但這種使用未被支援,且存在安全性與可靠性風險。 請盡快更換建議的替代品。

如果替換的輸入不同怎麼辦?

主要任務版本可能會引入破壞性變更。 請先檢視替換任務文件,更新 YAML 或經典管線的輸入,並在生產環境使用前測試管線。

如果沒有直接替代的選項被列出怎麼辦?

請使用表中所列支援的命令列工具、Marketplace 擴充功能或 Azure 服務。 在移除舊任務前,先驗證非生產流程的新工作流程。

這個公告是否包含只被棄用的任務?

No. 本文列出預定於 2026年11月24日退休的任務。 那些只被淘汰的任務就不在內。

這個排程是否適用於 Azure DevOps Server?

No. 此排程適用於 Azure DevOps 服務。 Azure DevOps Server 的任何退休或移除排程都會另外通知。

也請參閱