Features
- 略過組建時將中性狀態張貼至 GitHub
- 預設情況下,受保護資源中所有管線的存取權會關閉
- 使用裝飾器在指定目標任務之前或之後插入任務
- 宣佈 Windows 2016 裝載映像的淘汰排程
- 宣布淘汰 macOS 10.14 託管映像
略過組建時,將中性狀態張貼至 GitHub
使用 Azure Pipelines,您一律可以在 GitHub 中 驗證提取要求 。 您也可以指定 GitHub 存放庫中的哪些 路徑 應該觸發管線。 例如,當將變更推送到 code 分支中 main 時,會觸發下列管線,但當將變更推送到 docs 資料夾時,不會觸發。
trigger: none
pr:
branches:
include:
- main
paths:
include:
- code
exclude:
- docs
pool:
vmImage: ubuntu-latest
steps:
- script: echo Hello, world!
displayName: 'Run a one-line script'
管線完成之後,Azure Pipelines 會將狀態張貼回 GitHub。 如果您有針對 GitHub 存放庫有效的分支保護原則,則 Azure Pipelines 所張貼的狀態會決定是否合併提取要求。
在上述範例中,如果您對 docs 進行了變更,GitHub 目前會封鎖拉取請求,等候 Azure Pipelines 傳回狀態。 不過,Azure Pipelines 不會執行驗證組建,因為該路徑已從觸發程式中排除,因此無法完成提取要求。 為單一 GitHub 存放庫設定路徑排除觸發器或多個管線的客戶經常面臨此挑戰。
未來,Azure Pipelines 在因為路徑排除規則決定不執行驗證構建時,將狀態回傳 neutral 至 GitHub。 這會為 GitHub 提供明確的方向,指出 Azure Pipelines 已完成其處理。
對話視圖:
查看詳情:
預設會在受保護的資源中關閉所有管線的存取權
YAML 管線可以依賴一或多個 受保護的資源。 服務連線、代理程式集區、變數群組、安全檔案和存放庫都是受保護資源的範例,因為這類資源的系統管理員可以控制哪些管線可以存取該資源。 系統管理員會使用資源的安全性設定面板來啟用或停用管線。
當您建立其中一個資源時,預設體驗會授與所有管線的存取權,除非您明確關閉它。 繼續前進,為了改善整體安全性狀態,預設值會設定為拒絕存取所有管線。 若要授與所有管線的存取權,只要在建立體驗中或在建立資源之後開啟切換即可。
使用裝飾專案在指定目標工作之前或之後插入工作
裝飾器 是一種自動將任務注入管道的方法。 組織中的中央小組通常會使用它們來自動執行必要的合規性程式。 裝飾器可以與傳統組建、傳統版本或 YAML 管線搭配使用。
目前,可以透過裝飾器在每個作業開始時插入任務、每個作業結束時插入任務,或在簽出任務後立即插入任務。 若要加以控制,您可以在裝飾器的擴充項的貢獻區段中指定 target,如同 這裡所述。 我們現在正在擴大目標清單,以包含以下內容:
ms.azure-pipelines-agent-job.pre-task-tasks
ms.azure-pipelines-agent-job.post-task-tasks
ms.azure-release-pipelines-agent-job.pre-task-tasks
ms.azure-release-pipelines-agent-job.post-task-tasks
以下是裝飾器的範例,可在每次執行PublishPipelineArtifacts任務實例之前,將一個任務插入管道。
{
"manifestVersion": 1,
"contributions": [
{
"id": "my-required-task",
"type": "ms.azure-pipelines.pipeline-decorator",
"targets": [
"ms.azure-pipelines-agent-job.pre-task-tasks"
],
"properties": {
"template": "my-decorator.yml",
"targettask": "ECDC45F6-832D-4AD9-B52B-EE49E94659BE"
}
}
],
"files": [
{
"path": "my-decorator.yml",
"addressable": true,
"contentType": "text/plain"
}
]
}
宣佈 Windows 2016 託管映像的淘汰排程
最近,我們將 Windows 2022 作為託管映像提供。 隨著 Windows 2016 的主流支援即將於 2022 年 1 月結束,我們將從 11 月 15 日開始棄用 vs2017-win2016 映像。 預計在 2022 年 3 月將此映像完全淘汰。 由於這是常用的映像,因此我們希望給您足夠的通知和時間,以便對管線進行必要的變更。
請參閱我們的 部落格文章 ,詳細說明如何使用 Windows 2016 裝載的映像來尋找所有專案和管線,以及您可以採取的移轉至較新版本的步驟。
宣佈淘汰macOS 10.14裝載的映像
最近,我們將 macOS-11 作為託管映像提供。 因此,我們將在 2021 年 12 月棄用 macOS-10.14 映像。 依賴此映像的建置一旦被棄用,就會失敗。 您可以從我們的 部落格文章中找到有關各種圖像被淘汰的更多詳細資訊。
後續步驟
備註
這些功能將在未來兩到三周內推出。
打開 Azure DevOps 去看看吧。
如何提供意見反應
我們很樂意聽到您對於這些功能的看法。 使用說明功能表來回報問題或提供建議。
您可以在 Stack Overflow 的社群中獲得建議,並得到您的問題解答。