共用方式為


Azure Pipelines 中的 YAML 改善 - 短期衝刺 142 更新

在 Azure DevOps 的 Sprint 142 更新 中,YAML 已有數項改善,例如 將自訂計數器新增至組建指定要針對提取要求建置的分支,以及 內嵌使用範本。 我們也已針對所有使用者開啟新的導覽、引進深色主題,以及改善Azure Boards中的連結附件體驗。

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

功能

一般:

Azure Boards:

Azure Repos:

Azure Pipelines:

Azure Test Plans:

Azure Artifacts:

Wiki:

管理:

一般

所有使用者都開啟新的導覽

我們已為所有使用者開啟新的導覽! 這是推出新產品設計的主要里程碑。 雖然我們會使用此版本將所有人移至新的流覽模型,但使用者仍然可以退出宣告並使用舊導覽,直到 2019 年 1 月 16 日為止。 您可以從每個頁面右上方虛擬人偶下方的功能表中選取 [預覽功能 ] 來退出宣告。

如需詳細資訊,請參閱 導覽更新 部落格文章。

深色佈景主題

我們長期的功能要求之一,就是提供深色主題。 我們很高興讓您知道,這現在可做為新導覽的一部分使用。 您可以從每個頁面右上方的虛擬人偶下方功能表選取 [ 主題 ],以開啟深色主題。

深色主題

Azure Boards

使用更豐富的工作專案附件來組織參考資料

將檔案附加至工作專案可讓您和小組集中參考資料,以便在您需要時一律會接近它們。 現在只要在工作專案表單上任何位置拖放檔案,即可更輕鬆地新增附件。 您可以繼續以清單方式檢視附件,或切換至方格檢視以顯示縮圖預覽。 按兩下檔案以開啟預覽並加以迴圈,以快速找出您需要的資訊。

工作專案附件

透過連結整個組織的工作專案來管理相依性

連結相關或相依工作可讓您更廣泛地瞭解您要追蹤的工作,並協助您與其他小組管理相依性。 透過遠端工作的連結,您現在可以追蹤公司內整個組織的工作。 只要複製現有工作專案的 URL、移至另一個工作專案,然後使用三個新的連結類型之一建立連結:取用來源、產生物件和遠端相關。 如需Azure Boards中可追蹤性的詳細資訊,請參閱工作專案連結檔。

注意

這兩個 Azure DevOps 組織都遵守許可權,這兩者都必須由相同的 Azure AD 租使用者支援。

遠端連結

當您開始管理數個相依性時,請使用[查詢] 中的 [遠端連結計數] 欄位,列出專案中具有遠端相依性的工作專案,或考慮安裝相依性追蹤器擴充功能。 此延伸模組是由 Microsoft 的 Windows 群組所建立,以符合其規模需求,建置在遠端連結上,以顯示您相依性的豐富階層和圖形標記法。

之前,如果工作專案預覽窗格已關閉,就無法從搜尋結果頁面開啟工作專案。 這會使您難以深入探索您的搜尋結果。 現在您可以按一下工作專案標題,在強制回應視窗中開啟工作專案。 這項功能已從 UserVoice 排定優先順序。

Azure Repos

延伸模組作者可以查詢目前存放庫的相關內容

版本控制延伸模組作者的其中一項挑戰是取得要向使用者顯示之存放庫的內容,例如名稱、識別碼和 URL。 為了協助解決此問題,我們已將 VersionControlRepositoryService 新增為可存取延伸模組的服務。 使用此功能,延伸模組作者可以查詢 Web UI 中目前 Git 存放庫內容的相關資訊。 它目前有一個方法 getCurrentGitRepository () 。

  • 如果選取 Git 存放庫,則會傳回 GitRepository 物件,其中包含存放庫的基本資料 (名稱、識別碼和 URL)
  • 如果選取了 TFVC 存放庫,或服務是在Azure Repos頁面外部存取,則會傳回 null。

以下是使用此服務的 範例擴充 功能。

Azure Pipelines

將自訂群組建計數器新增至您的組建

組建計數器提供唯一編號和標籤組建的方式。 先前,您可以使用 $ (rev:r) 特殊變數來完成此作業。 現在,您可以在每次執行組建時自動遞增的組建定義中定義自己的計數器變數。 您可以在定義的 [變數] 索引標籤上執行此動作。 這項新功能可讓您以下列方式提供更多功能:

  • 您可以定義自訂計數器並設定其種子值。 例如,您可以在 100 啟動計數器。 $ (rev:r) 一律從 0 開始。
  • 您可以使用自己的自訂邏輯來重設計數器。 $ (rev:r) 系結至組建編號產生,而且每當組建編號中有新的前置詞時,就會自動重設。
  • 您可以為每個定義定義定義多個計數器。
  • 您可以在組建外部查詢計數器的值。 例如,您可以使用計數器計算自上次重設後已執行的組建數目。

如需組建計數器的詳細資訊,請參閱 使用者定義變數 的相關檔。

使用 YAML 指定要建置提取要求的分支

YAML 管線可以指定要為 PR 建置的分支, (提取要求) 。 您可以選擇要包含和排除的分支。 這項功能先前可在 Web UI 中使用。 藉由將它移至 YAML 檔案,它會成為設定即程式碼工作流程的一部分。

使用 PR 觸發程式的範例可能如下所示:

pr:
  branches:
    include:
    - features/*
    exclude:
    - features/experimental/*
  paths:
    include:
    - **/*.cs

steps:
- script: echo My PR build!

使用 YAML 範本運算式內嵌

YAML 範本是重複使用管線部分的強大方式。 除了分解一般程式碼之外,範本運算式還可讓您變更值,並控制包含哪些 YAML。 到目前為止,範本運算式必須佔用 YAML 運算式中的整個值。 這個範例會運作,因為運算式是 方案 屬性的整個值。

- task: msbuild@1
  inputs:
    solution: ${{ parameters.solution }}

我們現在已放寬限制,並允許如下列範例所示的內嵌範本。

- script: echo The solution file is ${{ parameters.solution }}

改善管線初始化記錄的疑難排解

當管線執行時,Azure Pipelines 必須確保管線定義正確、決定要排程哪些作業、要求代理程式執行作業等等。 到目前為止,此程式完全不透明,因此當發生錯誤時,客戶幾乎不可能針對問題進行疑難排解。 我們引進了一種稱為管線初始化記錄的新記錄,讓這些詳細資料可見。 您可以選擇已完成組建上的 [ 下載所有記錄 ] 選項,以存取管線初始化記錄。

YAML 管線的預設保留期

我們正努力讓使用者設定 YAML 管線的保留原則。 在提供這項新功能之前,我們已將所有 YAML 組建的預設保留期增加為 30 天,因為許多使用者想要保留其組建的時間超過過去 10 天的預設保留期。 我們已移除 YAML 管線編輯器中的保留索引標籤,直到新模型就緒為止。

在 Linux/ARM 和 Windows 32 位平臺上建置

64 位 (x64) Windows、macOS 和 Linux 上一律支援 Azure Pipelines 開放原始碼跨平臺代理程式。 此短期衝刺推出兩個新的支援平臺: Linux/ARM 和 Windows/32 位。 這些新平臺可讓您以較不常見的平臺為基礎建置,但不重要,例如 Raspberry Pi、Linux/ARM 電腦。

複製變數群組

我們已新增複製變數群組的支援。 每當您想要複寫變數群組並只更新幾個變數時,您就不需要逐一完成新增變數的繁瑣程式。 您現在可以快速建立變數群組的複本、適當地更新值,並將它儲存為新的變數群組。

複製變數群組

注意

當您複製變數群組時,不會複製秘密變數值。 您需要更新加密的變數,然後儲存複製的變數群組。

查看所有連結來源的認可和工作專案

繼續承諾改善追蹤能力,我們很高興宣佈客戶現在可以看到連結至管線之所有成品的認可和工作專案詳細資料。 根據預設,認可和工作專案會與最後一個部署與相同的階段進行比較。 不過,如有需要,您可以與任何其他先前的部署進行比較。

連結的來源

從部署Azure App 服務支援的套件執行

Azure App 服務部署工作 (4.*) 版本現在支援先前稱為 RunFromZip 的 RunFromPackage (。

App Service支援數種不同的技術來部署您的檔案,例如 msdeploy (aka WebDeploy) 、git、ARM 等等。 但所有這些技術都有限制。 您的檔案會部署在 wwwroot 資料夾底下, (特別 d:\home\site\wwwroot) ,然後執行時間會從該處執行檔案。

使用 [從封裝執行] 時,不再有將個別檔案複製到 wwwroot 的部署步驟。 相反地,您只需將它指向 zip 檔案,zip 會掛接在 wwwroot 上做為唯讀檔案系統。 這有幾項優點:

  • 減少檔案複製鎖定問題的風險。
  • 可以部署到生產應用程式 (透過重新啟動)。
  • 您可以確定在應用程式中執行的檔案。
  • 改善Azure App 服務部署的效能。
  • 可縮短冷啟動時間,特別是針對具有大型 npm 套件樹狀結構的 JavaScript 函式。

使用 App Server Deploy 工作部署 Linux 容器

Azure App 服務部署工作的 4.* 版本現在支援將您自己的自訂容器部署至Linux 上的Azure Functions

適用于 Azure Functions 的 Linux 裝載模型是以 Docker 容器為基礎,可針對封裝及運用應用程式特定相依性帶來更大的彈性。 Linux 上的函式可以裝載于 2 種不同的模式:

  1. 內建容器映射: 您帶入函式應用程式程式碼,Azure 會提供和管理容器 (內建映射模式) ,因此不需要任何特定的 Docker 相關知識。 現有版本的 App Service 部署工作支援此功能。
  2. 自訂容器映射:我們已增強App Service部署工作,以支援將自訂容器映射部署至 Linux 上的Azure Functions。 當您的函式需要特定語言版本,或需要內建映射內未提供的特定相依性或組態時,您可以使用 Azure Pipelines 在 Linux 上建置自訂映射,並將其部署至 Azure Function。

Azure Test Plans

Azure 測試執行器用戶端以執行傳統型應用程式的手動測試

您現在可以使用 Azure 測試執行器 (ATR) 用戶端來執行傳統型應用程式的手動測試。 這可協助您從 Microsoft Test Manager 移至 Azure Test Plans。 請參閱 這裡的指引。 使用 ATR 用戶端,您可以執行手動測試,並記錄每個測試步驟的測試結果。 您也有資料收集功能,例如螢幕擷取畫面、影像動作記錄和音訊視訊錄製。 如果您在測試時發現問題,請使用測試執行器來建立 Bug,其中包含自動包含在 Bug 中的測試步驟、螢幕擷取畫面和批註。

ATR 需要一次性下載並安裝執行器。 選取 [針對傳統型應用程式執行 ],如下所示。

Azure 測試執行器

Azure 測試執行器安裝

Azure Artifacts

管線成品的公開預覽

我們發行了管線成品的公開預覽,這是專為與 Azure Pipelines 搭配使用而設計的新可高度擴充成品類型。 管線成品是以最近宣佈 的通用套件 功能所使用的相同技術為基礎,可大幅減少儲存大型企業類別組建的組建輸出所需的時間。

Wiki

使用參與許可權將程式碼發佈為 Wiki

稍早,只有擁有 Git 存放 建立存放庫許可權的使用者才能將程式碼發佈為 Wiki。 這讓存放庫管理員或建立者成為任何將 Git 存放庫中裝載的 Markdown 檔案發佈為 wiki 的要求瓶頸。 現在,如果您只有程式碼存放庫的「參與」許可權,您可以將程式代碼發佈為 Wiki

系統管理

PAT 強制執行 CAP

在 2017 年 2 月,我們宣佈 支援 Azure Active Directory 條件式存取原則 (CAP) ,但有一項限制,例如個人存取權杖等替代驗證機制不會強制執行 CAP。 我們很高興宣佈,我們已填補此差距,而 Azure DevOps 現在在使用 PAT、SSH 金鑰、替代驗證認證和 OAuth 時,將會接受 CAP IP 隔離原則。 系統管理員不需要執行任何動作即可利用這項功能。 它會自動套用至所有現有的原則。

後續步驟

注意

這些功能將在接下來兩到三周推出。

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

如何提供意見反應

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

提供建議

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

感謝您!

Aaron Bjork