Share via


建置管線中的 GitHub Enterprise 支援和自動 GitHub 服務連線 - Sprint 146 更新

在 Azure DevOps 的 Sprint 146 更新中,我們改善了 GitHub 與 Azure Pipelines 的整合。 [新增組建管線] 精靈現在已可為 GitHub Enterprise 存放庫建立管線, 並可分析您的存放庫,為您建議語言範本。 此外,它可以為您選取的 GitHub 存放庫建立及重複使用服務連線。

如需詳細資訊, 請參閱下方的功能 清單。

功能

一般:

Azure Boards:

Azure Pipelines:

Azure Artifacts:

Wiki:

一般

還原已刪專案

在此更新中,我們新增了從 Azure DevOps 入口網站還原已刪除專案的功能。 如果您有「刪除專案」許可權,您也可以從 [組織] > 設定 [概觀] 頁面還原已刪除的專案。

Azure Boards

使用基本流程簡化工作的編排

重要

基本程式處於公開預覽狀態,作為在美國中部地區建立的新組織內新專案的默認程式。

在過去,Agile 一直是新專案的默認程式,提供健全且靈活的工作專案類型和狀態集,以符合各種專案傳遞方法。 對於某些小組,他們更熟悉其他工具,或想要採用更強大的工具組,想要快速開始使用他們更熟悉的術語。

新的基本程式提供三種工作項目類型(Epics、Issues 和Tasks)來規劃和追蹤您的工作。 建議您使用問題來追蹤用戶劇本、Bug 和功能等專案,同時使用 Epic 將問題分組為較大的工作單位。 當您進行工作時,沿著簡單狀態工作流程移動專案,待辦事項、[執行] 和 [完成]。

Organize work using the Basic process.

請參閱追蹤問題和工作檔,以協助您開始使用新的專案。

Azure Pipelines

管線精靈中的 GitHub Enterprise 支援

先前,您可以使用 可視化設計工具來 建立 GitHub Enterprise 存放庫的管線。 現在,您也可以使用 [ 新增組建管線 精靈] 來建立管線。

GitHub Enterprise support in the pipeline wizard.

精靈會分析您的 GitHub Enterprise 存放庫,以建議符合您項目語言的 YAML 範本。 然後,您可以將 YAML 編輯並儲存為直接認可至預設分支或提取要求。

Edit and save the YAML.

如需詳細資訊,請參閱這裡建立第一個管線的檔。

管線中的 GitHub 服務自動連線

使用 [ 新增組建管線精靈] 來建立 GitHub 的管線 時,選擇或建立 GitHub 服務連線的頁面會導致從清單中選取哪個連線造成混淆。 現在,您不需要選擇連線。 精靈會自動為您選擇的存放庫建立並重複使用服務連線。

如果您想要手動選擇非自動選取的連接,請遵循 [選擇連線 ] 超連結。 如需詳細資訊,請參閱 建置 GitHub 存放庫

注意

選取專案是以 Azure Pipelines GitHub App 為基礎(如果已安裝在存放庫中),或您的個人 GitHub 身分識別(使用 OAuth)。

顯示 GitHub Checks 中各管線的狀態

先前,即使它包含多個平台的作業(例如Linux、macOS和 Windows),仍會針對管線張貼單一組建狀態至 GitHub Checks。 現在,狀態會張貼至管線中每個作業的 GitHub 檢查。 此外,您也可以從 GitHub Checks 重新執行整個組建,或只執行個別失敗的作業。 若要使用這項功能,您的管線必須設定為使用 Azure Pipelines GitHub 應用程式。 如需其他詳細數據,請參閱 使用 GitHub 應用程式整合。 若要為多個平台設定具有作業的管線,請參閱 建立多平臺管線

Display status for each pipeline job.

GitHub 中 YAML 資源的預設授權

如果您在 GitHub 中管理原始程式碼並使用 YAML 來定義管線,則可能遇到資源授權建置失敗。 當您編輯 YAML 檔案並新增其中一個受保護資源的參考時(例如服務連線、代理程式集區、變數群組或安全檔案),Azure Pipelines 無法驗證該變更並失敗組建的使用者身分識別。 若要解決此問題,您必須在對 YAML 檔案進行變更之後,將組建管線儲存在 Web 編輯器中。 許多遇到此問題的使用者只是想要允許所有管線使用資源。

為避免資源授權組建失敗,我們已變更所有新服務連線、代理程式集區和變數群組的預設行為,以在所有管線中使用。 如果您想要更嚴格地控制資源,您可以停用默認授權模型(請參閱下圖)。 當您這樣做時,具有使用資源許可權的人員必須在將資源參考新增至 YAML 檔案之後,將管線儲存在 Web 編輯器中。

Default authorization for YAML resources.

YAML 管線的服務容器

先前,如果您的 YAML 管線使用這些服務,您必須先安裝、啟動和停止資料庫或記憶體快取等服務。 透過此更新,我們新增 了可處理這些工作的服務容器 。 例如,如果您的管線針對整合測試使用 redis 快取,您可以在管線中包含 redis 容器映射作為服務。 代理程式會自動擷取映像、啟動映像並加以網路,讓管線步驟可以透過主機名 redis 加以參考。 當管線完成時,代理程式會完全關閉服務容器。

發行摘要中連結到 GitHub 認可的工作項目

在 12 月,我們引進了將 GitHub 認可連結至工作專案的功能。 我們很高興宣佈,您現在可以在發行摘要頁面中看到連結至 GitHub 認可的所有 Azure Boards 工作專案。 這可協助小組追蹤並擷取已部署至環境之認可的詳細資訊。

針對 YAML 優化的新 Azure App 服務 工作

我們現在支援四項新工作,提供簡單但功能強大的方法來部署 Azure App 服務,並考慮到新式開發人員。 這些工作具有優化的 YAML 語法,可讓您簡單且直覺地撰寫 Azure AppServices 的部署,包括 WebApps、FunctionApps、適用於容器的 WebApps,以及 Windows 和 Linux 平臺上的適用於容器的 FunctionApp。

我們也支援檔案轉換的新公用程式工作,以及 XML 和 JSON 格式的變數替代。

Azure SQL 工作的 Azure Active Directory (AD) 驗證支援

除了現有的 SQL 伺服器驗證支援之外,Azure SQL 工作已增強,以支援使用 Azure AD 連線到資料庫(整合式和密碼)和 連接字串。

Azure AD authentication support for Azure SQL task.

Grafana 註釋服務掛勾

我們現在支援新的服務勾點,可讓您將部署已完成事件的 Grafana 批注新增至 Grafana 儀錶板。 這可讓您將部署與 Grafana 儀錶板中可視化的應用程式或基礎結構計量變更相互關聯。

Grafana annotations service hook.

查詢 Azure 監視器警示工作

舊版的 查詢 Azure 監視器工作 僅支援在傳統監視體驗上查詢警示。 使用此新版的工作,您可以查詢 Azure 監視器最近引進的整合監視體驗警示。

Query Azure Monitor alerts tasks.

「部署至 Kubernetes」工作中之規格檔內的內嵌輸入

先前,Kubernetes 部署工作會要求您提供組態的檔案路徑。 現在您也可以內嵌新增組態。

Inline input of spec file in Deploy to Kubernetes task.

Docker CLI 安裝程式工作

此工作允許在使用者指定的代理程式上安裝任何版本的 Docker CLI。

Docker CLI Installer task.

Java 對 Microsoft 代管之代理程式的長期支援 (LTS)

先前,Microsoft 裝載的代理程式已預安裝 JDK,這些 JDK 是由複雜的授權、使用者限制和缺乏長期支援所超載。 在此更新中,我們將 JDK 取代為 Azul Systems 中經測試、認證、LTS 的 OpenJDK 組建。 使用 Azure 的 Java 開發人員現在可以使用 OpenJDK 的 Azul Systems Zulu Enterprise 組建來建置及執行生產 Java 應用程式,而不會產生額外的支援成本。

這項新供應專案旨在藉由視需要納入季安全性更新和 Bug 修正,以及重要的頻外更新和修補程式,讓 Microsoft 裝載的 Java 組建和部署放心。 如果您目前正在內部部署或其他 JDK 上建置或執行 Java 應用程式,請考慮移至 Azure 上的 Zulu 以取得免費支援和維護。 如需詳細資訊,請參閱部落格 Microsoft 和 Azul Systems 將免費的 Java LTS 支援帶到 Azure

Bitbucket Cloud 管線的 YAML 支援

先前, YAML 型管線 不支援 Bitbucket Cloud。 現在,您可以使用 YAML 來定義 Bitbucket Cloud 管線,或使用可視化設計工具執行相同的動作。 若要使用 YAML,請將 azure-pipelines.yml 檔案新增至您的存放庫。 在 Azure Pipelines 中,選擇 [ 新增組建管線],然後選取 [使用可視化設計工具 超連結],選取 [Bitbucket Cloud] 和 [YAML]。 您可以在這裏輸入存放庫 YAML 檔案的路徑。

如需詳細資訊,請參閱 YAML 語法指南YAML 範例的 GitHub 存放庫。

避免為提取要求觸發多個 CI 組建

Azure Pipelines 隨附的 YAML 組建範本已設定為觸發存放庫內任何分支的組建。 這包括提取要求主題分支。 因此,建立提取要求時會觸發兩個組建。 提取要求分支的一個組建,以響應持續整合觸發程式,以及提取要求分支的第二個組建,以回應提取要求觸發程式。

藉由使用下列 YAML 代碼段,內建的 YAML 範本將會設定為只針對 主要 分支觸發持續整合組建。 新的提取要求仍會使用提取要求觸發程式來建置。 如需詳細資訊,請參閱建置管線觸發程序的檔

trigger:
- main

變更組建編號、上傳及下載分叉放庫組建中的成品

到目前為止,分支存放庫的提取要求驗證組建沒有上傳和下載組建成品或變更組建編號的許可權。 許可權受到限制,因為讓代理程式的範圍更廣的許可權在未知使用者觸發的分叉組建期間可供使用。 使用此更新時,代理程式許可權會設定為範圍,如此一來,您的管線就可以視需要執行這些作業。

以下是 YAML 的範例,可用來將 tar.gz 檔案中的組建輸出封存到成品預備目錄。 然後,它會將輸出發佈至要與組建相關聯的 Azure Pipelines。 如需詳細資訊,請參閱封 存盤工作發佈組建成品工作的檔。

- task: ArchiveFiles@2
  inputs:
    archiveType: 'tar'
    tarCompression: 'gz'
    includeRootFolder: false
    rootFolderOrFile: '$(build.sourcesDirectory)/target'
    archiveFile: '$(build.artifactStagingDirectory)/$(build.buildId).tar.gz'
- task: PublishBuildArtifacts@1
  inputs:
    pathtoPublish: '$(build.artifactStagingDirectory)'

在「發行測試結果」工作中,為失敗測試的失敗組建新增選項

[發佈測試結果] 工作 是用來使用您選擇的測試執行器,將測試結果發佈至 Azure Pipelines。 到目前為止,工作只會從結果檔案發佈結果,即使結果檔案包含失敗的測試,也不會讓組建失敗。 這表示您必須撰寫自定義步驟,讓建置在測試失敗時失敗。

我們現在已在工作中新增一個選項,以在有任何失敗的測試時讓組建失敗。

Fail the build if there are any failed tests.

更新 至 Azure 入口網站以建立 Azure DevOps 專案

Azure 入口網站現在包含其他功能,可在建立 Azure DevOps 專案時支援更多架構和服務。 以下是每個區域的變更清單。

架構

Azure IoT 是完全受控的服務,可在跨平臺 IoT 裝置本機上提供雲端智慧。 現在,您可以從 Azure 入口網站建立 Azure DevOps 專案,並使用 Simple IoT 作為應用程式架構。

Use the Simple IoT as the application framework.

服務

先前,Azure 入口網站中的 [建立 Azure DevOps 專案] 工作流程僅支援 [建立新的 ] 作為 Kubernetes Service 的選項。 已新增新的選項,可讓您選擇現有的叢集作為管線設定的部署目標。

Choose an existing cluster as the deployment target for the pipeline setup.

使用 Azure 入口網站來設定及部署至 CosmosDB 資料庫

目前,您可以使用 Azure 入口網站中的 Azure DevOps Project 工作流程來設定 Git 存放庫的建置和發行管線。 現在,您可以使用 CosmosDB 布建為資料庫,部署至適用於容器的 Azure Web 應用程式 (Linux) 或 Azure Kubernetes Service,以支援這些目標上的應用程式。 這目前適用於所有 Node.js 範本,我們預期未來會新增其他範本的支援。

Use the Azure Portal to set up and deploy to an Azure Cosmos DB database.

在 Azure 入口網站中設定 Functions 的組建和發行管線

您現在可以在 Azure 入口網站中使用 Azure DevOps Project 工作流程,為部署 Azure Functions 2.0 (Windows) 的 Git 存放庫設定建置和發行管線。 此功能適用於 Node.js 和 .NET Core。

Set up builds and release pipelines for Functions in Azure portal.

Azure Artifacts

套件使用統計資料

到目前為止,Azure Artifacts 並未提供方法來測量套件的使用方式或受歡迎程度。 透過此更新,我們已將 [下載] 和 [使用者] 計數新增至套件清單和套件詳細數據頁面。 您可以在任一頁面右側看到統計數據。

Package usage stats.

Wiki

Wiki Markdown 編輯器的單空格字型

隨著Wiki Markdown 編輯器的單空格字型的推出,可讀性不再是挑戰。 Markdown 來源看起來乾淨且易於閱讀。 這項功能已根據 此建議票證排定優先順序。

Monospaced font for Wiki Markdown editor.

粗體Wiki頁面標題

稍早,Wiki 頁面標題和頁首 1 看起來都相同。 這使得讀者很難區分它們。 現在,Wiki 頁面標題已設為粗體,與頁首 1 不同。 這項功能已根據 此建議票證排定優先順序。

Bold Wiki page titles.

插入 Markdown 表格

在Wiki中建立 Markdown 數據表不再是挑戰。 您現在可以按下按鈕來新增 Markdown 資料表。 此功能已根據 此功能建議票證來設定優先順序。

Insert Markdown table.

在Wiki中內嵌 Azure Boards 查詢結果

您現在可以以數據表的形式,將 Azure Boards 查詢結果內嵌在 Wiki 頁面中。 下圖顯示Wiki頁面的範例,其中包含所有已發行的功能清單,以及目前內嵌在Wiki中的所有作用中Bug。 頁面中顯示的內容是使用現有的工作項目查詢。 有了這項新功能,您可以建立動態內容,而不需要擔心手動更新Wiki頁面。

Embed Azure Boards query results in Wiki.

查詢結果可以在兩個步驟中新增

  1. 從編輯工具列按兩下 [查詢結果] 按鈕。

Select the Query Results button from the edit toolbar.

  1. 選取必要的查詢,然後按兩下 [插入] 按鈕。

儲存頁面之後,查詢的結果現在可以以數據表的形式檢視。

View results of the query.

這已根據下列功能建議設定優先順序:

  1. Wiki 中的工作項目查詢
  2. 新增動態Wiki內容

下一步

注意

這些功能將在未來兩到三周內推出。

閱讀下方的新功能,並前往 Azure DevOps 自行試用。

如何提供意見反應

我們很樂意聽到您對於這些功能的看法。 使用意見反應功能表來回報問題或提供建議。

Make a suggestion

您也可以在 Stack Overflow 上的社群取得建議和您的問題。

感謝您!

傑里米·埃普林