使用路徑排除規則在驗證執行時,將中性狀態張貼至 GitHub
透過此更新,我們已包含 Azure Pipelines 的多個更新。 在 YAML 管線上,我們會將所有管線的拒絕存取設定為受保護資源的預設。 此外,Azure Pipelines 會在決定不會因為路徑排除規則而不要執行驗證組建時,將中性狀態張貼回 GitHub。
如需詳細資訊,請參閱下列功能描述。
注意
在 2021 年 9 月 28 日,Azure DevOps 收到 Axosoft 在其熱門 Git GUI 用戶端的相依性中收到弱點的通知 – GitKraken。 請參閱 部落格文章 ,以深入瞭解詳細資料。
Azure Pipelines
- 略過組建時,將中性狀態張貼至 GitHub
- 預設會關閉受保護資源中所有管線的存取權
- 使用裝飾專案在指定的目標工作之前或之後插入工作
- 宣佈 Windows 2016 託管映射的淘汰排程
- 宣佈取代 macOS 10.14 裝載的映射
Azure Pipelines
略過組建時,將中性狀態張貼至 GitHub
使用 Azure Pipelines,您一律可以在 GitHub 中 驗證提取要求 。 您也可以指定 GitHub 存放庫中應該觸發管線 的路徑 。 例如,在分支中 main
推送 code
變更時,會觸發下列管線,但在將變更推送至 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 設為託管映射。 隨著 2022年 1 月 Windows 2016 的主要支援即將結束,我們即將從 11 月 15 日開始淘汰 vs2017-win2016
映射。 此映射的完整淘汰計畫為 2022 年 3 月。 由於這是常用的映射,因此我們想要提供您足夠的通知和時間,以對您的管線進行必要的變更。
請參閱我們的 部落格文章 ,詳細說明如何使用 Windows 2016 託管映射尋找所有專案和管線,以及您可以採取的步驟來移轉至較新版本。
宣佈取代 macOS 10.14 裝載的映射
最近,我們已將 macOS-11 當作託管映射提供。 因此,我們將在 2021 年 12 月淘汰 macOS-10.14 映射。 一旦映射已被取代,依賴此映射的組建將會失敗。 您可以從我們的 部落格文章找到有關淘汰各種影像的詳細資訊。
後續步驟
注意
這些功能將在接下來兩到三周推出。
請前往 Azure DevOps 並查看。
如何提供意見反應
我們希望聽到您對這些功能的想法。 使用說明功能表來回報問題或提供建議。
您也可以在 Stack Overflow上取得社群所回答的建議和問題。
感謝您!
Vijay Machiraju