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 的任何退休或移除排程都會另外通知。