我在 Azure Devops 中遇到了問題。關于這個問題,我有兩個問題。問題是我有一個 Azure Bicep 模板,它在我的 Azure 訂閱中的資源組中部署了一堆資源。
其中一個資源是一個 Azure 容器注冊表 (ACR),我想在更新映像代碼時將某個映像推送到其中。現在我基本上想要實作的是我有一個單一的多階段 Azure 構建管道,其中
- 資源通過 Azure Bicep 部署,之后
- 我自動構建并將影像推送到(ACR)
現在這里的問題是,要將影像推送到 ACR,需要在 Azure Devops 中建立服務連接,這只能在 Azure Bicep 管道運行后通過門戶進行。現在我發現我可以使用 Azure CLI 命令:從命令列az devops service-endpoint create從 .json 檔案創建連接,這實際上意味著我可以添加一個 .json 檔案,但是在此之前我不會擁有正確的憑據在 AZ 二頭肌構建之后,可能必須在我的 json 檔案中公開敏感的 Azure 帳戶資訊才能創建連接(如果可能的話)。
這給我留下了兩個問題:
- 在實踐中,這是一個人會做的事情,還是只有兩條管道更有意義?一種用于基礎設施即代碼,另一種用于應用程式代碼。我認為最好能夠一次性部署所有內容,但是對于 DevOps 來說還是很陌生,并且無法真正找到這個問題的答案。
- 無論如何,這仍然可以在單個 Azure DevOps 管道中安全地實作嗎?
uj5u.com熱心網友回復:
回答 1。
根據我的經驗,基礎設施和應用程式一直是分開的。我們通常希望將這兩者分開,以便于管理。例如,您可能希望單獨測驗 ACR 的新功能,例如向 ACR 添加防火墻規則的新要求,或者可能更改復制設定,而無需每次都重建/推送新映像。
另一方面,BAU 管道涉及每天或每周構建新影像。一個動作是一次性的,另一個更像是 BAU。您通常只想構建 ACR 并忘記它,僅在需要時參考。
此外,ACR 最終可以用于您將來可能擁有的許多其他應用程式管道的影像。所以你真的不想將它系結到特定的應用程式管道。如果您想要一個面向未來的解決方案,我建議將它們分開,然后為不同的應用程式構建使用不同的管道。
通常最好將核心基礎設施資源代碼與 BAU 內容分開。
回答 2。
我不詳細了解您如何運行管道的具體細節,但據我了解,關于公開敏感內容,有兩種方法(最佳實踐)我會處理這個問題。
- 將包含敏感內容的檔案作為安全檔案保存在管道庫中,然后在需要時檢索它。
- 將內容或任何機密保存在 Azure KeyVault 中,并在管道運行期間閱讀它們。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/467635.html
標籤:码头工人 天蓝色的devops 天蓝色的cli 天蓝色容器注册表 天蓝色二头肌
