增強的 YAML 預覽 API 和設定通用套件的上游來源
在此短期衝刺中,我們推出新的 API 端點,可讓您擷取最終的 YAML 主體。 我們也很高興宣布,我們新增了使用此版本為通用套件設定上游來源的功能。
如需詳細數據, 請參閱下方的功能 清單。
功能
Azure Boards
Azure Pipelines
Azure Artifacts
Azure Boards
待辦項目與面板上的系統工作項目類型
我們 開始了功能的私人預覽 ,可讓您將系統工作項目類型新增至選擇的待辦專案層級。 在過去,這些工作專案類型只能從查詢取得。
處理 | 工作項目類型 |
---|---|
敏捷式 | 問題 |
Scrum | 障礙 |
Cmmi | 變更要求 |
問題 | |
檢閱 | |
風險 |
我們很高興宣佈此功能現在已無法使用預覽,且已正式推出給所有組織。 將系統工作專案類型新增至待辦專案層級很簡單。 只要進入您的自定義程式,然後按兩下 [待辦專案層級] 索引標籤。選取您選擇的待辦專案層級(例如:需求待辦專案),然後選擇 編輯選項。 然後新增工作項目類型。

稽核記錄事件
我們已將新事件新增至稽核記錄,以協助客戶更妥善地追蹤程序相關變更。 每當選擇清單上的值變更時,就會記錄事件。 選擇清單欄位的變更通常是對程式進行的最常見變更。 透過這個新事件,組織系統管理員可以更妥善地追蹤對這些字段進行變更的時機和人員。

Azure Boards GitHub 應用程式存放庫限制已提高 (非公開預覽)
如果您使用來自 GitHub Marketplace 的 Azure Boards 應用程式 ,您可以連線的 GitHub 存放庫限制為 100 個。 對於可能超過 100 個存放庫的大型組織而言,這會成為封鎖程式。 在此短期衝刺中,我們已變更 Azure Boards 連線到 GitHub 存放庫的方式,以支持超過 100 個。 如果您目前達到 100 個存放庫限制,請告訴我們,我們可以啟用此功能來增加該限制並解除封鎖您。 請 直接 以您的組織名稱傳送電子郵件給我們(dev.azure.com/{organization})。
在合併提取要求時自訂工作項目狀態 (非公開預覽)
並非所有工作流程都相同。 有些客戶想要在提取要求完成時關閉其相關的工作專案。 其他人想要在關閉之前,將工作項目設定為要驗證的另一個狀態。 我們應該同時允許這兩者。
從短期衝刺 174 開始,我們有一項新功能,可讓您在合併並完成提取要求時,將工作項目設定為所需的狀態。 若要這樣做,我們會掃描提取要求描述,並尋找狀態值,後面接著工作專案的 #mention。 在此範例中,我們會將兩個用戶劇本設定為 [已解決] 並關閉兩個工作。

這項功能已經很長一段時間了,我們很高興看到您的想法。 首先,我們只會掃描提取要求描述,而不包含任何使用者介面變更。 我們想要先取得您的意見反應,再進一步投資。
如果您有興趣參與私人預覽版 ,請直接傳送電子郵件給我們。 別忘了包含您的組織(dev.azure.com/{organization})。
Azure Pipelines
管線映像公告
注意
Azure Pipelines 映射會持續更新,以為使用者提供最佳的體驗。 這些例行更新主要是針對解決 Bug 或過時軟體。 它們通常不會影響您的管線,但情況不一定如此。 如果您的管線相依於映射上已移除或更新的軟體片段,可能會受到影響。
若要深入瞭解 Windows、Linux 和 macOS 映射即將推出的更新,請閱讀下列公告:
若要檢視即將推出的版本資訊(發行前版本)和已部署的變更,請訂閱下列版本資訊:
已改善代理程式記錄上傳作業
當代理程式停止與 Azure Pipelines 伺服器通訊時,它正在執行的作業會遭到放棄。 如果您碰巧查看串流控制台記錄,您可能已經收到一些有關代理程式在停止回應之前正確情況的線索。 但是,如果您沒有,或者如果您重新整理頁面,這些控制台記錄就消失了。 在此版本中,如果代理程式在傳送完整記錄之前停止響應,我們會將控制台記錄保留為下一個最佳專案。 控制台記錄每行限制為1000個字元,而且偶爾可能不完整,但它們比不顯示任何內容更有説明! 檢查這些記錄可協助您針對自己的管線進行疑難解答,而且在協助進行疑難解答時,它肯定會協助我們的支持工程師。
選擇性掛接唯讀容器磁碟區
當您在 Azure Pipelines 中執行容器作業時,包含工作區、工作和其他材質的數個磁碟區會對應為磁碟區。 這些磁碟區預設為讀取/寫入存取權。 為了提高安全性,您可以在 YAML 中變更容器規格,以只讀方式掛接磁碟區。 底下的 mountReadOnly
每個索引鍵都可以針對唯讀設定為 true
(預設值為 false
)。
resources:
containers:
- container: example
image: ubuntu:18.04
mountReadOnly:
externals: true
tasks: true
tools: true
work: false
精細地控制容器啟動/停止
一般而言,我們建議您允許 Azure Pipelines 管理作業和服務容器的生命週期。 不過,在某些不尋常的案例中,您可能想要自行啟動和停止它們。 在此版本中,我們已將該功能建置至 Docker 工作。
以下是使用新功能的範例管線:
resources:
containers:
- container: builder
image: ubuntu:18.04
steps:
- script: echo "I can run inside the container (it starts by default)"
target:
container: builder
- task: Docker@2
inputs:
command: stop
container: builder
# if any step tried to run in the container here, it would fail
此外,我們也在管線變數 Agent.ContainerMapping
中包含容器清單。 例如,如果您想要檢查文本中的容器清單,可以使用此選項。 它包含字串化的 JSON 物件,會將資源名稱 (上述範例中的“builder” 對應至代理程式所管理的容器識別符。
將每個步驟的工作套件組合解壓縮
當代理程式執行作業時,它會先下載作業步驟所需的所有工作配套。 一般而言,為了達到效能,即使工作用於多個步驟,它還是會為每個作業解壓縮一次工作。 如果您擔心未受信任的程式代碼會改變未解壓縮的內容,您可以讓代理程式將工作解壓縮到每個使用量,藉以消除一點效能。 若要啟用此模式,請在設定代理程式時傳遞 --alwaysextracttask
。
透過限制存取權杖的範圍提高版本安全性
根據我們的計劃來增強 Azure Pipelines 的安全性設定,我們現在支援限制發行的存取令牌範圍。
在版本中執行的每個作業都會取得存取令牌。 工作和腳本會使用存取令牌來回呼 Azure DevOps。 例如,我們使用存取令牌來取得原始程式碼、下載成品、上傳記錄、測試結果,或對 Azure DevOps 進行 REST 呼叫。 系統會為每個作業產生新的存取令牌,並在作業完成之後到期。
透過此更新,我們會藉由限制存取令牌的範圍,並將相同的擴充至傳統版本,來改善管線安全性。
這項功能預設會針對新專案和組織開啟。 對於現有的組織,您必須在 [組織 設定 > 管線>] 設定 中啟用它。 >將作業授權範圍限制為發行管線的目前專案。 在這裡深入了解。
YAML 預覽 API 增強功能
在幾個短期衝刺之前,我們引進了預覽管線的完整 YAML 的功能,而不需要執行它。 透過此更新,我們已建立預覽功能的專用新URL。 現在您可以POST以 https://dev.azure.com/{org}/{project}/_apis/pipelines/{pipelineId}/preview
擷取完成的YAML主體。 這個新的 API 會採用與佇列執行相同的參數,但不再需要「佇列組建」許可權。
Azure Artifacts
為 Universal Packages 設定上游來源
現在您可以設定 Azure Artifacts 摘要,以視需要自動從上游來源下載通用套件。
先前,您可以在 NuGet、Python、Maven 和 npm 套件的摘要上設定上游來源,但不適用於通用套件。 這是因為用於通用套件的儲存技術有所差異,後者支援比其他支援的套件類型更大的套件。
您現在可以以與其他封裝類型相同的方式設定通用套件的上游來源;開啟您的摘要設定,按兩下 [上游來源] ->[新增上游來源] ,>然後選擇適合您的來源類型。 在下一個檢視中,您會看到通用套件 (UPack) 作為新選項(請參閱下圖)。 如需詳細資訊,請參閱上游來源組態 檔。

請注意,上游來源中的通用套件只能在相同 DevOps 組織的摘要之間支援。
Maven 套件現可使用更新套件版本 REST API
您現在可以使用 Azure Artifacts「更新套件版本」REST API 來更新 Maven 套件版本。 先前,您可以使用 REST API 來更新 NuGet、Maven、npm 和通用套件的套件版本,但無法更新 Maven 套件。
若要更新 Maven 套件,請使用 HTTP PATCH 命令,如下所示。
PATCH
https://pkgs.dev.azure.com/{organization}/{project?}/\_apis/packaging/feeds/{feedId}/maven/groups/{groupId}/artifacts/{artifactId}/versions/{packageVersion}?api-version=5.1-preview.1
您可以設定下列各項:
URI 參數
名稱 | In | 必要 | 型別 | 說明 |
---|---|---|---|---|
artifactId | path | TRUE | string | 封裝的成品標識碼 |
摘要 | path | TRUE | string | 摘要的名稱或識別碼 |
groupId | path | TRUE | string | 套件的群組標識碼 |
組織 | path | TRUE | string | Azure DevOps 組織的名稱 |
version | path | TRUE | string | 套件的版本 |
專案 | path | string | 項目識別碼或項目名稱 | |
api-version | query | TRUE | string | 要使用的 API 版本。 這應該設定為 『5.1-preview.1』 以使用此版本的 API |
要求本文
名稱 | 類型 | 說明 |
---|---|---|
檢視表 | JsonPatchOperation | 將新增套件版本的檢視 |
如需詳細資訊,請參閱 REST API 檔 ,因為它會更新。
下一步
注意
這些功能將在未來兩到三周內推出。
前往 Azure DevOps 並查看。
如何提供意見反應
我們很樂意聽到您對於這些功能的看法。 使用說明功能表來回報問題或提供建議。
您也可以在 Stack Overflow 上的社群取得建議和您的問題。
感謝您!
亞倫·霍爾伯格