Azure 應用程式組態 匯出工作會從您的 應用程式組態 存放區匯出索引鍵/值,並將其設定為 Azure 管線變數,後續工作可以使用這些變數。 此工作可補足 Azure 應用程式組態 匯入工作;該工作會將組態檔中的索引鍵/值匯入您的 App Configuration 存放區。 如需詳細資訊,請參閱使用 Azure Pipelines 將設定匯入至 應用程式組態。
必要條件
- Azure 訂用帳戶 - 建立免費帳戶
- 應用程式組態存放區 - 免費建立一個存放區
- Azure DevOps 專案–免費建立一個專案
- Azure Pipelines 代理程式版本 2.144.0 或更新版本,以及 Node 16 或更新版本,以便在自我託管代理程式上執行此工作。
建立服務連線
服務連線可讓您從 Azure DevOps 專案中存取 Azure 訂用帳戶的資源。
在 Azure DevOps 中,移至包含目標管線的專案。 在左下角中,選取 [專案設定]。
在管線 下方,選取服務連線。 在右上角中,選取 [新的服務連線]。
在 [新的服務連線] 中,選取 [Azure Resource Manager]。
在 [驗證方法] 對話框中,選取 [工作負載身分識別同盟],以建立新的工作負載身分識別同盟,或選取 [工作負載身分識別同盟] 來使用現有的工作負載身分識別同盟。
輸入您的訂用帳戶、資源群組,以及服務連線的名稱。
如果您已建立新的服務主體,請尋找指派給服務連線的服務主體名稱。 您將在下一個步驟中為此服務主體新增新的角色指派。
移至 [專案設定]>[服務連線]。
選取新的服務連線。
選取 「管理服務主體」。
請注意 [顯示名稱] 中的值。
新增角色指派
為工作中正在使用的認證指派適當的應用程式組態角色指派,以便工作可以存取應用程式組態存放區。
移至您的目標應用程式組態存放區。
在左側功能表中,選取 [存取控制 (IAM)]。
在右側窗格中,選取 [新增角色指派]。
對於 角色,選取 應用程式組態資料讀者。 此角色可讓作業讀取 App Configuration 存放區中的資料。
選取與您在上一節建立之服務連線相關聯的服務主體。
選取檢閱+指派。
如果存放區包含金鑰保存庫參考,請移至相關的金鑰保存庫,並將 [金鑰保存庫秘密使用者] 角色指派給在上一個步驟中建立的服務主體。 從 [金鑰保存庫] 功能表中,選取 [存取原則] 並確定已選取 Azure 角色型存取控制作為權限模型。
在組建中使用
本節涵蓋如何在 Azure DevOps 建置管線中使用 Azure 應用程式組態 導出工作。
- 按一下 管線>管線,以前往建置管線頁面。 如需組建管線文件,請參閱建立您的第一個管線。
- 如果您要建立新的組建管線,請在進行到流程的最後一個步驟時,在 [檢閱] 索引標籤上,選取管線右側的 [顯示小幫手]。
- 如果您使用現有的組建管線,請按一下右上方的 [編輯] 按鈕。
- 搜尋 Azure 應用程式組態匯出工作。
- 若要從 App Configuration 存放區匯出鍵值,請設定此工作的必要參數。 參數的描述可在 [參數 ] 區段和每個參數旁邊的工具提示中使用。
- 將 Azure 訂閱參數設定為您在上一個步驟中建立的服務連線名稱。
- 將應用程式組態端點設定為應用程式組態存放區的端點。
- 其餘參數請保留預設值。
- 儲存並將建置加入佇列。 建置記錄會顯示執行工作期間發生的任何失敗。
在發布版本中使用
本節涵蓋如何在 Azure DevOps 發行管線中使用 Azure 應用程式組態 導出工作。
- 選取 管線>發行,以前往發行管線頁面。 如需發行管線文件,請參閱發行管線。
- 選擇現有的發行管線。 如果您沒有管線,請按一下 [新增管線] 以建立新的管線。
- 選取右上角的 [編輯] 按鈕以編輯發行管線。
- 在 [工作] 的下拉式清單中,選擇您要新增工作的 [階段]。 如需階段的詳細資訊,請參閱 新增階段、相依性及條件。
- 按一下您要新增任務的工作旁的 +。
- 搜尋 Azure 應用程式組態匯出工作。
- 若要從 應用程式組態 存放區匯出您的索引鍵/值,請在工作中設定必要的參數。 參數的描述可在 [參數 ] 區段和每個參數旁邊的工具提示中使用。
- 將 Azure 訂閱參數設定為您在上一個步驟中建立的服務連線名稱。
- 將應用程式組態端點設定為應用程式組態存放區的端點。
- 其餘參數請保留預設值。
- 儲存發行並將其排入佇列。 發行記錄會顯示執行工作期間遇到的任何失敗。
參數
Azure 應用程式組態 匯出工作會使用下列參數:
- Azure 訂用帳戶:包含可用 Azure 服務連線的下拉式清單。 若要更新並重新整理可用的 Azure 服務連線清單,請按文字方塊右側的 [重新整理 Azure 訂用帳戶] 按鈕。
- 應用程式組態端點:將所選訂用帳戶下的可用組態存放區端點載入的下拉式清單。 若要更新並重新整理可用的組態存放區端點清單,請按文字方塊右側的 [重新整理應用程式組態端點] 按鈕。
- 選取模式:指定如何從組態存放區讀取金鑰值。 [預設] 選取模式允許使用金鑰和標籤篩選。 [快照集] 選取模式允許從快照集選取金鑰值。 預設值為 Default.
- 索引鍵篩選條件:篩選條件可用來選取從 Azure 應用程式組態要求的索引鍵/值。 值為 * 會選取所有鍵值組。 如需詳細資訊,請參閱 查詢索引鍵/值。
- 標籤:指定從應用程式組態存放區選取索引鍵/值時,應該使用哪一個標籤。 如果未提供標籤,則會擷取未加標籤的鍵值。 不允許下列字元:、*。
- 快照名稱:指定在 Azure 應用程式組態中應從中擷取鍵值的快照。
- 修剪索引鍵前置詞:指定一或多個前置詞,這些前置詞應該先從應用程式組態索引鍵修剪,再將其設定為變數。 新行字元可用來分隔多個前置詞。
- 隱藏覆寫金鑰的警告:未核取預設值。 指定是否要在覆寫現有金鑰時顯示警告。 當預期從 應用程式組態 下載的索引鍵/值與管線變數中存在的索引鍵重疊時,請啟用此選項。
在後續工作中使用索引鍵/值
從應用程式組態擷取的索引鍵/值會設定為管線變數,這些變數可作為環境變數存取。 環境變數的索引鍵,是從 App Configuration 擷取的索引鍵/值組中的索引鍵,在去除前置詞(若有指定)之後所得到的索引鍵。
例如,如果後續任務執行 PowerShell 指令碼,則可以像這樣取用索引鍵為「myBuildSetting」的鍵值組:
echo "$env:myBuildSetting"
而該值會輸出到主控台。
注意
應用程式組態內的 Azure 金鑰保存庫參考將會解析,並設定為秘密變數。 在 Azure 管線中,秘密變數在記錄中會遭到遮罩。 它們不會作為環境變數傳遞給工作,而必須改以輸入參數的方式傳遞。
疑難排解
如果發生非預期的錯誤,可以將管線變數 system.debug 設定為 true 以啟用偵錯記錄。
FAQ
如何從多個索引鍵和標籤撰寫設定?
有時候可能需要從多個標籤撰寫組態,例如預設和開發。 多個應用程式組態工作可用於一個管線中,以實作此案例。 後續步驟中的任務所擷取的鍵值會取代來自先前步驟的任何值。 在上述範例中,工作可用來選取具有預設標籤的索引鍵/值,而第二個工作可以使用開發標籤來選取索引鍵/值。 帶有 dev 標籤的鍵會覆寫帶有 default 標籤的相同鍵。
後續步驟
如需參數的完整參考資料,或想在 YAML 管線中使用此管線工作,請參閱下列文件。
若要了解如何將鍵值從組態檔匯入到 App Configuration 存放區中,請參閱下列文件。
若要了解如何在應用程式組態存放區中建立快照,請參閱下列文件。