使用 Azure Pipelines 將設定匯入至 應用程式組態
Azure 應用程式組態 匯入工作會將機碼值從組態檔匯入至您的 應用程式組態 存放區。 此工作可在管線內啟用完整的圓形功能,因為您現在可以從 應用程式組態 存放區匯出設定,並將設定匯入至 應用程式組態 存放區。
必要條件
- Azure 訂用帳戶 - 建立免費帳戶
- 應用程式組態存放區 - 免費建立一個存放區
- Azure DevOps 專案–免費建立一個專案
- Azure Pipelines 代理程式 2.144.0 版或更新版本和 節點 16 版或更新版本,用於在自我裝載代理程式上執行工作。
建立服務連線
服務連線可讓您從 Azure DevOps 專案中存取 Azure 訂用帳戶的資源。
在 Azure DevOps 中,移至包含目標管線的專案。 在左下角中,選取 [專案設定]。
在管線 下方,選取服務連線。 在右上角中,選取 [新的服務連線]。
在 [新的服務連線] 中,選取 [Azure Resource Manager]。
在 [驗證方法] 對話框中,選取 [工作負載身分識別同盟],以建立新的工作負載身分識別同盟,或選取 [工作負載身分識別同盟] 來使用現有的工作負載身分識別同盟。
輸入您的訂用帳戶、資源群組,以及服務連線的名稱。
如果您已建立新的服務主體,請尋找指派給服務連線的服務主體名稱。 您將在下一個步驟中將新的角色指派新增至此服務主體。
移至 [專案設定]>[服務連線]。
選取新的服務連線。
選取 [管理服務主體]。
請注意 [顯示名稱] 中的值。
新增角色指派
為工作中正在使用的認證指派適當的應用程式組態角色指派,以便工作可以存取應用程式組態存放區。
移至您的目標應用程式組態存放區。
在左側功能表中,選取 [存取控制 (IAM)]。
在右側窗格中,選取 [新增角色指派]。
針對 [角色],選取 [應用程式組態資料擁有者]。 此角色可讓工作從應用程式組態存放區讀取,也可以使其寫入至應用程式組態存放區。
您在上一區段有建立服務連線,請選取與其相關的服務主體。
選取檢閱+指派。
在組建中使用
本節涵蓋如何在 Azure DevOps 建置管線中使用 Azure 應用程式組態 匯入工作。
- 按一下 [管線]>[管線] 以瀏覽至組建管線的頁面。 如需組建管線的詳細資訊,請移至 建立您的第一個管線。
- 如果您要建立新的組建管線,請在進行到流程的最後一個步驟時,在 [檢閱] 索引標籤上,選取管線右側的 [顯示小幫手]。
- 如果您使用現有的組建管線,請按一下右上方的 [編輯] 按鈕。
- 如果您要建立新的組建管線,請在進行到流程的最後一個步驟時,在 [檢閱] 索引標籤上,選取管線右側的 [顯示小幫手]。
- 搜尋 Azure 應用程式組態 匯入工作。
- 設定工作的必要參數,以將機碼值從組態檔匯入至 應用程式組態 存放區。 參數的說明可在 [參數] 區段,以及每個參數旁邊的工具提示中取得。
- 儲存並將一個組建排入佇列。 建置記錄會顯示執行工作期間發生的任何失敗。
在發行版本中使用
本節涵蓋如何在 Azure DevOps 發行管線中使用 Azure 應用程式組態 匯入工作。
- 選取 [管線]>[發行],瀏覽至發行管線的頁面。 如需發行管線的詳細資訊,請移至 建立您的第一個發行管線。
- 選擇現有的發行管線。 如果您沒有發行管線,請選取 [+ 新增] 以建立新的發行管線。
- 選取右上角的 [編輯] 按鈕以編輯發行管線。
- 在 [工作] 的下拉式清單中,選擇您要新增工作的 [階段]。 如需階段的詳細資訊,請參閱 新增階段、相依性及條件。
- 按一下在您要加入新工作作業旁邊的 +。
- 在 [新增工作] 對話框中,輸入 Azure 應用程式組態 [匯入] 搜尋方塊並加以選取。
- 設定工作內的必要參數,以將密鑰/值從組態檔匯入至 應用程式組態 存放區。 參數的說明可在 [參數] 區段,以及每個參數旁邊的工具提示中取得。
- 儲存發行並將其排入佇列。 發行記錄會顯示執行工作期間遇到的任何失敗。
參數
應用程式組態 匯入工作會使用下列參數:
- Azure 訂用帳戶:包含可用 Azure 服務連線的下拉式清單。 若要更新並重新整理可用的 Azure 服務連線清單,請按文字方塊右側的 [重新整理 Azure 訂用帳戶] 按鈕。
- 應用程式組態端點:這個下拉式清單會載入所選訂用帳戶下的可用組態存放區端點。 若要更新並重新整理可用的組態存放區端點清單,請按文字方塊右側的 [重新整理應用程式組態端點] 按鈕。
- 組態檔路徑:組態檔的路徑。 組態檔路徑參數會從檔案存放庫的根開始。 您可以透過瀏覽組建成品來選取組態檔。 (文字方塊右側的
...
按鈕)。 支援的檔案格式取決於檔案內容設定檔。 針對預設設定檔,支援的檔格式為 yaml、json 和 properties。 針對 KvSet 設定檔,支援的檔案格式為 json。 - 檔案內容設定檔:組態檔的內容設定檔。 預設值為 [預設]。
- 預設:是指應用程式可以直接取用的傳統組態檔格式。
- Kvset:是指檔案結構描述,其中包含應用程式組態索引鍵/值的所有屬性,包括索引鍵、值、標籤、內容類型和標記。 使用 Kvset 配置檔時,工作參數 'Separator'、'Label'、'Content type'、'Prefix'、'Tags' 和 'Depth' 不適用。
- 匯入模式:預設值為 [全部]。 決定匯入索引鍵/值時的行為。
- 全部:將組態檔中的所有索引鍵/值匯入至應用程式組態。
- 忽略相符項:僅匯入應用程式組態中沒有相符索引鍵/值的設定。 比對索引鍵/值會被視為具有相同索引鍵、標籤、值、內容類型和標籤的索引鍵/值。
- 試執行:預設值為 [未核取]。
- 已核取:不會對 應用程式組態 執行任何更新。 相反地,在正常執行中執行的任何更新都會列印到主控台以供檢閱。
- 未核取:執行任何更新來 應用程式組態,而且不會列印到主控台。
- 分隔符號:用來壓平合併 .json 和 .yml 檔案的分隔符號。
- 深度:.json和.yml檔案扁平化為的深度。
- 前置詞:附加至匯入至 應用程式組態 存放區之每個索引鍵開頭的字串。
- 卷標:新增至每個索引鍵/值作為 應用程式組態 存放區內捲標的字串。
- 內容類型:新增至每個索引鍵/值作為 應用程式組態 存放區內內容類型的字串。
- 標記:格式為 的
{"tag1":"val1", "tag2":"val2"}
JSON 物件,它會定義新增至匯入至 應用程式組態 存放區之每個索引鍵/值的標記。 - 刪除組態檔中未包含的索引鍵/值:預設值為 [未核取]。 此選項的行為取決於組態檔內容設定檔。
- 已核取:
- 默認內容配置檔:移除 應用程式組態 存放區中符合指定前置詞和標籤的所有索引鍵/值,再從組態檔匯入新的索引鍵/值。
- Kvset 內容設定檔:從組態檔匯入新的索引鍵/值之前,先移除未包含在組態檔中的 應用程式組態 存放區中的所有索引鍵/值。
- 未核取:將組態檔中的所有索引鍵/值匯入 應用程式組態 存放區,並將其他所有專案保留在 應用程式組態 存放區中。
- 已核取:
疑難排解
如果發生非預期的錯誤,可以將管線變數 system.debug
設定為 true
以啟用偵錯記錄。
常見問題集
如何上傳多個設定檔?
若要將多個組態檔匯入至 應用程式組態 存放區,請在相同的管線內建立 Azure 應用程式組態 匯入工作的多個實例。
如何使用這項工作建立 Key Vault 參考或功能旗標?
根據您選取的檔案內容配置檔,請參閱組態檔 Azure 應用程式組態 支援中的範例。
為什麼我在嘗試將索引鍵/值匯入至我的組態存放區時收到 409 錯誤?
如果工作嘗試移除或覆寫鎖定在 應用程式組態 存放區中的索引鍵/值,就會發生 409 衝突錯誤訊息。
後續步驟
如需參數的完整參考,或在 YAML 管線中使用這個管線工作,請參閱下列檔。
若要瞭解如何從 應用程式組態 存放區導出索引鍵/值,並將其設定為 Azure 管線變數,請繼續進行下列檔。
若要瞭解如何在 應用程式組態 存放區中建立快照集,請繼續進行下列檔。