Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
資源是指任何在管線外部使用的東西。
資源提供下列優點:
- 在跨管線間共用安全檔案或密碼的方法。
- 使用資源進行共用的範例包括變數群組、安全檔案和服務連線。 在所有情況下,您都是使用資源作為處理流程存取和使用某個項目的方式。
- 透過存取檢查和其他限制來增強 安全性 的工具。
- 例如,您可以將服務連線限制為只在一個管線上執行。 您也可以確定存放庫只能在手動核准檢查之後從管線存取。
- 改善管線 可追蹤性 的方法,並讓您更輕鬆地針對 環境進行疑難解答。
- 例如,您可以看到最後一次部署到 環境 的執行次數。
跨管線共享資源
在管線 UI 內設定資源,以跨管線共用資源。 然後,在任務中參考那些資源。 您也可以使用 resources
YAML 管線語法來存取一些共享資源。
使用管線 UI 共用資源的範例包括 安全檔案、 變數群組和服務 連線。
resources
使用語法時,範例包括存取管線本身、存放庫和套件。
資源在管線中的使用方式取決於管線類型和資源類型。
針對 YAML 管線:
- 服務連線和安全檔案會直接作為工作的輸入,而且不需要預先宣告。
- 變數群組使用
group
語法。 - 管線和存放庫會使用
resources
語法。
例如,若要在管線中使用變數群組,請在 Pipelines>Library 中新增變數。 然後,您可以在 YAML 管線中使用 variables
語法來參考變數群組。
variables:
- group: my-variable-group
若要使用 resources
語法從管線呼叫第二個管線,請參考 pipelines
。
resources:
pipelines:
- pipeline: SmartHotel-resource # identifier for the resource (used in pipeline resource variables)
source: SmartHotel-CI # name of the pipeline that produces an artifact
使用資源來增強安全性
您可以使用資源來增強管線的安全性,方法是識別資源的取用方式,以及如何防止未經授權的存取。
若僅限於 YAML 管線,請將資源設定為 保護中或開放。 當資源受到保護時,您可以套用核准和檢查,以限制特定使用者和 YAML 管線的存取權。 受保護的資源包括服務連線、代理程式集區、環境、存放庫、變數群組和安全檔案。
資源 | 它是如何被使用的? | 如何防止非預期的使用此管線? |
---|---|---|
服務連線 | 由 YAML 檔案中利用服務連線作為輸入的任務所執行。 | 使用檢查和管線權限進行保護。 檢查和管線許可權是由服務連線使用者所控制。 資源擁有者可以控制哪些管線可以存取服務連線。 您也可以使用管線許可權來限制特定 YAML 管線和所有傳統管線的存取。 |
變數群組中的秘密變數 | 存在一個用於在管線或作業中使用變數群組的特殊語法。 變數群組會以類似於服務連線的方式新增。 | 使用檢查和管線權限進行保護。 檢查和管線許可權是由變數群組使用者所控制。 資源擁有者可以控制哪些管線可以存取變數群組。 您也可以使用管線許可權來限制特定 YAML 管線和所有傳統管線的存取。 |
安全檔案 | 工作會取用安全檔案(例如: 下載安全檔案工作)。 | 使用檢查和管線權限進行保護。 檢查和管線許可權是由安全檔案使用者所控制。 資源擁有者可以控制哪些管線可以存取安全檔案。 您也可以使用管線許可權來限制特定 YAML 管線和所有傳統管線的存取。 |
代理程式池 | 有一種特殊語法可用於使用代理池來執行作業。 | 使用檢查和管線權限進行保護。 驗證和管道權限是由代理程式集區使用者所控制。 資源擁有者可以控制哪些管線可以存取代理程式集區。 您也可以使用管線許可權來限制特定 YAML 管線和所有傳統管線的存取。 |
環境 | 使用 YAML 定義環境變數有一種特殊的語法。 | 受到環境使用者控制之檢查和管線許可權的保護。 您也可以使用管線許可權來限制特定環境的存取。 |
存儲庫 | 如果作業存取令牌具有存放庫的存取權,腳本可以複製存放庫。 | 受到存放庫參與者控制的檢核和管線權限的保護。 存放庫擁有者可以限制擁有權。 |
工件、工作項目、流水線 | 管線成品 是資源,但 Azure Artifacts 不是。 如果作業存取令牌具有對該來源的存取權,腳本就可以下載成品。 管線成品可以在 resources 區段中宣告為資源,主要是用於在有新成品可用時觸發管線的意圖,或在管線中取用該成品。 | 文物和工作項目有自己的權限控制。 不支援對於供應項目的檢查和流程許可權。 |
容器、 套件、 Webhook | 這些即時存在於 Azure DevOps 生態系統之外,並使用服務連線來控制存取權。 在YAML管線中使用這三種類型時,有一種特殊的語法。 | 檢查和管線許可權由服務連線使用者控制,以確保受到保護。 |
使用資源進行追蹤
環境支援下列資源類型: