[英]Checkout part of a branch in Azure DevOps Pipelines (GetSources)
[英]Azure DevOps - Pipelines checkout
我正在嘗試解決一個問題,即我無法為我遇到的問題找到正確的文檔。
目前,在我的項目中,我使用 Azure DevOps 管道在 function 中構建和部署簡單代碼。 我試圖接近的是讓多個階段做一些具體的事情。
管道示例
第 1 階段 - 代碼驗證(checktsyle,指南,...) 第 2 階段 - 測試
問題
您可能知道,當您執行不同的階段時,管道會運行到不同的從站,這意味着將在所有階段應用 git 檢出。 我要做的是避免這種結帳,只在第一階段進行一次結帳,並將第一階段的結帳用於 rest(代碼相同..)
你知道我在這里想念什么嗎? 我知道我可以在一個包含所有步驟/作業的階段完成此過程,但我想將其拆分為不同的階段,以確保每個階段都有自己的責任。
在此先感謝您的時間。
這取決於您的代理在哪里運行,如果代理是自托管的,您當然可以使用公共位置並避免簽出自回購。 對於托管代理,我認為您不能使用 azure 管道中的階段概念來做到這一點,階段具有特定的語義,這些語義不會 map 達到您想要的結果 AFAIK。 在不堅持使用 azure 流水線階段的情況下,還有其他方法可以划分職責。 這取決於您希望通過這種職責分工實現什么;
如果您只是想對管道進行邏輯分區,則可以使用其他替代方法,例如模板,它允許您將分區分成可以單獨維護的文件,如果這能滿足您對職責分離的要求。 它們甚至可以像下面的示例中那樣分成不同的存儲庫,當然它們也可以駐留在同一個存儲庫中。
我用於緩存和恢復使用公共存儲庫的 C++ 項目的依賴項的示例。
- checkout: DevOpsScripts
- template: up-restore.yml@DevOpsScripts
parameters:
CachePath: $(updepsCache)
CacheKeyPrefix: 'updeps | "$(Agent.OS)"'
DependenciesManifest: $(updepsPrefix)$(osSuffix).json
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.