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