簡體   English   中英

無法在 Azure DevOps(發布管道)中獲取 Azure 容器注冊表的服務連接

[英]Unable to get the service connection for Azure Container Registry in Azure DevOps (Release Pipeline)

我正在嘗試通過 Azure DevOps 服務在 Azure 應用服務上部署 docker 容器。 我已將 docker 映像推送到 Azure 容器注冊表。 當我嘗試創建發布定義時,我無法找到 Azure 容器注冊表的服務連接。 我已經為 ACR 創建了服務連接,但它沒有顯示在 Azure DevOps 門戶的列表中。

在此處輸入圖片說明

當我選擇“Azure Container Repository”作為源類型時,服務連接在下拉框中不可見。 我使用 DockerHub 作為另一種選擇。 它在列表中顯示服務連接。

我為 ACR 創建服務連接所遵循的步驟:

  1. 從列表中選擇Docker Registry
  2. 選擇Azure 容器注冊表作為注冊表類型。 提供了來自 ACR 的訂閱 ID 和注冊表。
  3. 提供服務連接名稱並保存。

更新

我通過提供訂閱 ID 和租戶 ID 使用托管標識身份驗證為 Azure 資源管理器創建了服務連接。 我正在嘗試在 Artifact 設置中使用此連接。 我收到以下錯誤。

對於給定的服務連接,找不到名稱為 endpoint.serviceprincipalid 的變量。

在此處輸入圖片說明

無法從 ACR 中提取 docker 映像。 來自應用服務的日志顯示存儲庫的拉取訪問被拒絕。

服務連接問題已解決,但面臨來自應用服務的 docker 權限問題

2020-02-10 12:31:11.781 INFO  - Pulling image from Docker hub: 
kbdockerregis/kbdockerimage:15

2020-02-10 12:31:14.406 ERROR - DockerApiException: Docker API responded with 
status code=NotFound, response={"message":"pull access denied for 
kbdockerregis/kbdockerimage, repository does not exist or may require 'docker 
login': denied: requested access to the resource is denied"}

2020-02-10 12:31:14.408 ERROR - Image pull failed: Verify docker image 
configuration and credentials (if using private repository)

2020-02-10 12:31:14.412 INFO  - Stoping site kbapp1 because it failed during 
startup.

當我選擇“Azure Container Repository”作為源類型時,服務連接在下拉框中不可見。

對於第一個問題,這是因為當您選擇 ACR 作為發布源時,我們系統使用的 api 如下所示:

https://dev.azure.com/{org}/{project}/_apis/serviceendpoint/endpoints?type=azurerm

可以看到這個api附帶的參數是type=azurerm 它只獲取類型為Azure Resource Manager的服務連接。 但是Container Registry不屬於這個。

因此,最好創建並使用類型為Azure Resource Manager type的服務連接。


對於給定的服務連接,找不到名稱為 endpoint.serviceprincipalid 的變量。

對於第二個問題,還沒有從你那里得到太多信息(比如檢查權益跟蹤)。 因此,根據我的了解,我建議您將類型從Managed Identity Authentication更改為Service Principal Authentication 然后按照此文檔進行配置。

這樣更安全,可以優先授權。

在此處輸入圖片說明

Service Principal Client id ,它是在 Azure 應用注冊中創建應用后的應用 id:

在此處輸入圖片說明

服務主體密鑰

在此處輸入圖片說明


堆棧溢出是一個開放的論壇,無法安全地共享一些我需要並用於從后端進行調查的關鍵信息(尤其是Fiddler 跟蹤)。 你最好去這里,因為你可以在那里選擇 Microsoft Only。 如果可能,我可以去那個社區,讓那個社區的工程師給我看。 以便我可以繼續深入研究。

暫無
暫無

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

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