使用 Azure Pipelines 從 應用程式組態 匯出設定

Azure 應用程式組態 匯出工作會從您的 應用程式組態 存放區匯出索引鍵/值,並將其設定為 Azure 管線變數,後續工作可以使用這些變數。 此工作可補足 Azure 應用程式組態 匯入工作;該工作會將組態檔中的索引鍵/值匯入您的 App Configuration 存放區。 如需詳細資訊,請參閱使用 Azure Pipelines 將設定匯入至 應用程式組態。

必要條件

建立服務連線

服務連線可讓您從 Azure DevOps 專案中存取 Azure 訂用帳戶的資源。

  1. 在 Azure DevOps 中,移至包含目標管線的專案。 在左下角中,選取 [專案設定]。

  2. 在管線 下方,選取服務連線。 在右上角中,選取 [新的服務連線]。

  3. 在 [新的服務連線] 中,選取 [Azure Resource Manager]。

    顯示從 [新增服務連線] 下拉式列表中選取 [Azure Resource Manager] 的螢幕快照。

  4. 在 [驗證方法] 對話框中,選取 [工作負載身分識別同盟],以建立新的工作負載身分識別同盟,或選取 [工作負載身分識別同盟] 來使用現有的工作負載身分識別同盟。

  5. 輸入您的訂用帳戶、資源群組,以及服務連線的名稱。

如果您已建立新的服務主體,請尋找指派給服務連線的服務主體名稱。 您將在下一個步驟中為此服務主體新增新的角色指派。

  1. 移至 [專案設定]>[服務連線]。

  2. 選取新的服務連線。

  3. 選取 「管理服務主體」。

  4. 請注意 [顯示名稱] 中的值。

    螢幕擷圖顯示服務主體的顯示名稱。

新增角色指派

為工作中正在使用的認證指派適當的應用程式組態角色指派,以便工作可以存取應用程式組態存放區。

  1. 移至您的目標應用程式組態存放區。

  2. 在左側功能表中,選取 [存取控制 (IAM)]。

  3. 在右側窗格中,選取 [新增角色指派]。

    顯示 [新增角色指派] 按鈕的螢幕快照。

  4. 對於 角色,選取 應用程式組態資料讀者。 此角色可讓作業讀取 App Configuration 存放區中的資料。

  5. 選取與您在上一節建立之服務連線相關聯的服務主體。

    顯示 [新增角色指派] 對話框的螢幕快照。

  6. 選取檢閱+指派。

  7. 如果存放區包含金鑰保存庫參考,請移至相關的金鑰保存庫,並將 [金鑰保存庫秘密使用者] 角色指派給在上一個步驟中建立的服務主體。 從 [金鑰保存庫] 功能表中,選取 [存取原則] 並確定已選取 Azure 角色型存取控制作為權限模型。

在組建中使用

本節涵蓋如何在 Azure DevOps 建置管線中使用 Azure 應用程式組態 導出工作。

  1. 按一下 管線>管線,以前往建置管線頁面。 如需組建管線文件,請參閱建立您的第一個管線。
    • 如果您要建立新的組建管線,請在進行到流程的最後一個步驟時,在 [檢閱] 索引標籤上,選取管線右側的 [顯示小幫手]。

    螢幕擷取畫面顯示新增管線的「顯示助理」按鈕。

    • 如果您使用現有的組建管線,請按一下右上方的 [編輯] 按鈕。

    顯示現有管線 [編輯] 按鈕的螢幕快照。

  2. 搜尋 Azure 應用程式組態匯出工作。

    螢幕擷取畫面顯示 [新增工作] 對話方塊,搜尋方塊中輸入了 [Azure 應用程式組態 Export]。

  3. 若要從 App Configuration 存放區匯出鍵值,請設定此工作的必要參數。 參數的描述可在 [參數 ] 區段和每個參數旁邊的工具提示中使用。
    • 將 Azure 訂閱參數設定為您在上一個步驟中建立的服務連線名稱。
    • 將應用程式組態端點設定為應用程式組態存放區的端點。
    • 其餘參數請保留預設值。

      顯示應用程式設定工作參數的螢幕快照。

  4. 儲存並將建置加入佇列。 建置記錄會顯示執行工作期間發生的任何失敗。

在發布版本中使用

本節涵蓋如何在 Azure DevOps 發行管線中使用 Azure 應用程式組態 導出工作。

  1. 選取 管線>發行,以前往發行管線頁面。 如需發行管線文件,請參閱發行管線。
  2. 選擇現有的發行管線。 如果您沒有管線,請按一下 [新增管線] 以建立新的管線。
  3. 選取右上角的 [編輯] 按鈕以編輯發行管線。
  4. 在 [工作] 的下拉式清單中,選擇您要新增工作的 [階段]。 如需階段的詳細資訊,請參閱 新增階段、相依性及條件。

    顯示 [工作] 下拉式清單中所選階段的螢幕快照。

  5. 按一下您要新增任務的工作旁的 +。

    顯示作業旁加號按鈕的螢幕快照。

  6. 搜尋 Azure 應用程式組態匯出工作。

    螢幕擷取畫面顯示 [新增工作] 對話方塊,搜尋方塊中輸入了 [Azure 應用程式組態 Export]。

  7. 若要從 應用程式組態 存放區匯出您的索引鍵/值,請在工作中設定必要的參數。 參數的描述可在 [參數 ] 區段和每個參數旁邊的工具提示中使用。
    • 將 Azure 訂閱參數設定為您在上一個步驟中建立的服務連線名稱。
    • 將應用程式組態端點設定為應用程式組態存放區的端點。
    • 其餘參數請保留預設值。
  8. 儲存發行並將其排入佇列。 發行記錄會顯示執行工作期間遇到的任何失敗。

參數

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 存放區中,請參閱下列文件。

若要了解如何在應用程式組態存放區中建立快照,請參閱下列文件。