簡體   English   中英

Azure DevOps:1 個解決方案多項目 CI/CD

[英]Azure DevOps: 1 Solution Multiple Projects CI/CD

我剛剛開始使用 CI/CD 設置 Azure DevOps。 這可能是不可能的,但我希望能找到答案。

我有一個包含 6 個項目的解決方案:

  • Web Api 項目(參考基礎設施、存儲庫和模型項目)
  • 網站項目(調用 Web Api 獲取數據和參考基礎設施、存儲庫和模型項目)
  • Node.js 項目(只調用 Web Api 獲取數據)
  • 基礎設施項目(由 Web Api 和網站共享)
  • Repositories 項目(由 Web Api 和網站共享)
  • 模型項目(由 Web Api 和網站共享)

在我開始搜索如何在 CI/CD 定義中將 Web Api、網站和 Node.js 項目發布到它們自己的 Azure 應用服務之前:

是否可以將其設置為僅部署某些項目? 即:僅發布 Node.js 項目或僅發布 Web Api 和網站而不發布 Node.js。

還是我需要將事情保留在不同的解決方案中?

如果我將它們保存在單獨的解決方案中,這將如何影響與源代碼管理 (Git) 相關的共享項目(基礎架構、存儲庫和模型)? 如果我向 Web Api 解決方案中的模型和存儲庫添加代碼,我是否提交這些更改而不是 Web Api Git 存儲庫? 這對引用相同 Models 和 Repo 項目的其他項目有何影響? 這是 Git 子模塊發揮作用的地方嗎?

更新 1 (2019/3/8)

看起來我可以使用路徑過濾器https://docs.microsoft.com/en-us/azure/devops/pipelines/build/triggers?view=azure-devops )在 1 個解決方案中實現這一點。 仍然對任何進一步的輸入感興趣。

希望這對其他人有幫助:

我通過在Build定義上使用Path 過濾器解決了這個問題,它完美地工作。 我為每個需要存在或托管在某處的項目創建了 1 個構建定義(在我的示例中,我有 3 個Build定義:Web Api、網站、Node.js)。

使用路徑過濾器中項目的正確路徑,只會啟動正確的Builds ,任何未觸及的項目都不會觸發構建。 每個構建都有自己的release ,然后將指定的應用程序部署到自己的目的地。

看看我是否理解你的問題,你需要部署特定的構建部分是的,你可以在 azure DevOps 中做到這一點。 在 Azure DevOps 中,您有構建定義和發布管道。 在構建中,您將構建項目並僅發布您提到的 2 個組件,在發布中您將部署它們我希望我回答了您的問題

在這里回答: http : //www.mattruma.com/multiple-project-deployment-with-azure-devops/每個項目都有一個管道,然后根據需要調整觸發器和部署。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM