[本文章是發行前版本文件,隨時可能變更。]
要將 Dataverse 環境或解決方案連接到 GitHub,請建立 GitHub 應用程式,將應用程式私鑰儲存在 Azure Key Vault,建立 Power Platform GitHub 連線,然後從解決方案中的原始碼控制體驗連接。
你可以在 https://make.preview.powerapps.com、https://make.preview.powerautomate.com、https://copilotstudio.preview.microsoft.com 或 https://make.preview.powerpages.microsoft.com 的解決方案體驗頁面中連線至 GitHub 整合預覽。
Important
- 這是預覽功能。
- 預覽功能不供生產時使用,而且可能功能受限。 這些功能是在正式發行前先行推出,讓客戶能夠搶先體驗並提供意見反應。
Prerequisites
- Dataverse Git 整合是 受管環境的一項功能。 開發環境與目標環境必須以受管理環境形式啟用。
- 一個擁有組織管理員權限的 GitHub 帳號。
- 具備建立 金鑰保存庫 資源權限的 Azure 訂閱。 金鑰保存庫 必須與 Dataverse 環境位於相同的 Microsoft Entra 租用戶中。
- 您需要有一個 Dataverse 環境,且您在其中具有「系統管理員」安全性角色。
- 你想連接至原始碼控制系統的自訂非管理解決方案。 如果你還沒有,就自己創建一個。
建立一個 GitHub 應用程式
在瀏覽器中開啟 GitHub。 在右上角選擇你的頭像,然後進入 設定>中的開發者設定。
選擇 新的 GitHub 應用程式。
你也可以直接到 GitHub 應用程式註冊頁面建立新的 GitHub 應用程式。
在「建立GitHub應用程式」頁面,請在GitHub應用程式名稱欄位輸入你GitHub應用程式的唯一名稱。 例如,輸入
MyOrgGitHubIntegrationApp。請填寫 首頁網址 欄位。 你可以使用你組織的網站或 GitHub 倉庫的網址。
如果你不需要 webhook 通知,請在 Webhook 區塊中勾選「Active」選項。
設定儲存庫權限
往下滑到 權限 區塊。
展開 儲存庫權限,然後將 內容 設為 讀取和寫入。 此權限允許應用程式讀取及寫入儲存庫內容以進行原始碼控制整合。
往下滑,選擇建立 GitHub 應用程式。
在 GitHub 應用程式設定頁面複製客戶端 ID。 你在 Dataverse 註冊應用程式設定時需要這個值。 用戶端 ID 使用如
Iv23liBWoH6sf7xGrRe9的格式。從 GitHub 應用程式設定頁面產生並下載私鑰。 在後續步驟中,將私密金鑰儲存在 Azure Key Vault 中。
在目標倉庫安裝 GitHub 應用程式
從 GitHub 應用程式設定頁面,在左側窗格選擇安裝應用程式。
在擁有目標儲存庫的帳號或組織旁選擇 安裝 。
如果目標儲存庫屬於 GitHub 組織,組織管理員可能需要批准應用程式安裝。 管理員會收到通知,要求審核並批准申請。
選擇是否讓應用程式存取 所有儲存庫 或 僅選擇儲存庫。 為了安全最佳實務,請只選擇整合原始碼控制所需的特定儲存庫。
選取 [安裝] 以完成安裝。
配置 Azure 金鑰保存庫
打開 Azure 入口網站,前往你的 Key Vault 資源。 如果沒有,先建立一個新的金鑰保險庫。
在 金鑰保存庫 面板中,於左側導覽列選取 Keys。
選取 產生/匯入。
在 選項 下拉選單中,選擇 匯入。
輸入金鑰名稱,例如
demoGitHubKey,然後上傳.pem你從 GitHub 下載的檔案。選擇 「建立 」來匯入金鑰。
備註
當你將後續的 Dataverse 環境連接到 GitHub 時,就不需要重複之前的 GitHub 應用程式和 Azure Key Vault 設定步驟。 你可以在多個倉庫重複使用同一個 GitHub 應用程式,並在多個環境中重複使用相同的 Azure Key Vault 設定。
建立一個 GitHub 連結
使用你的個人 GitHub 帳號建立 OAuth 連線。 這個連線會在設定時驗證你是否擁有目標儲存庫的管理員權限。 執行時,GitHub 應用程式會處理與 GitHub 的通訊,因此個別使用者不需要建立 GitHub 連線。
備註
或者,你也可以使用 GitHub 個人存取權杖(PAT)代替 GitHub 連線。 當 Dataverse 環境啟用虛擬網路(VNET)支援,或無法建立 GitHub 連線時,請使用 PAT。
進入 Power Apps 預覽,然後選擇連線。
選擇 新連線。
搜尋並選擇 GitHub 標準連接器。
請使用您的 GitHub 帳號登入並授權所需存取權限。
你登入的 GitHub 帳號必須擁有目標儲存庫的管理員權限。 OAuth 連線會驗證你的權限。
建立連結後,打開它。 請注意瀏覽器網址列中網址的連線 ID。 你在設定 Git 連線時需要這個值。
當你查看連線細節時,連線 ID 會顯示在網址中,如下範例所示:
https://make.preview.powerapps.com/.../connections/shared_github/{connectionId}/details
為您的組織核准 OAuth 應用程式的存取權限
如果您的GitHub組織啟用了非Microsoft應用程式存取限制,組織管理員必須核准Power Apps GitHub連接器所使用的 OAuth 應用程式。 請在組織設定中查看您的組織 設定>,第三方存取。
欲了解更多資訊,請參閱 啟用 OAuth 應用程式存取限制 及 批准貴組織的 OAuth 應用程式。
從解決方案連接到 GitHub
進入 Power Apps 預覽版,然後建立新的非託管解決方案,或選擇一個現有的自訂非託管解決方案。
在 原始碼控制 頁面,選擇 連接。
在「Connect to Git」面板中,選擇 GitHub。
輸入 GitHub 組織、儲存庫、分支、Git 資料夾,以及前述設定步驟中的連線資訊。
建立 GitHub 應用程式設定,輸入 GitHub 應用程式的客戶端 ID、金鑰保存庫 URI 和前一步驟的金鑰名稱。
配置 金鑰保存庫 角色基礎存取控制(RBAC)
在 Azure 入口網站中,前往您的金鑰保存庫資源。
選擇 存取控制(IAM),選擇 新增,然後選擇 新增角色指派。
搜尋並選擇 金鑰保存庫 加密用戶角色。
選擇「選擇成員」,然後搜尋與你 GitHub 應用程式設定相關的 Dataverse 管理身份。 管理身份名稱使用以下格式:
PPMI-githubappconfigmanagedidentity-{GUID}選擇管理身份,然後選擇 檢視 + 指派。
如果管理身份沒有顯示,請到 Dataverse 環境的設定>系統工作,檢查與 GitHub 應用程式設定建立相關的錯誤。 註冊是非同步產生的,可能需要一點時間才能顯示。
角色指派完成後,Dataverse 管理身份擁有在此金鑰保存庫中使用 GitHub 金鑰的權限。
驗證連線並測試認可
從解決方案區開啟一個未管理的解決方案。 如果你還沒有,先建立一個新的解決方案。 原始碼控制整合只適用於非管理解決方案。
到 原始碼控制 頁面,選擇 Git 連線。 確認連線顯示 GitHub 為提供者,且組織、儲存庫、分支和資料夾的詳細資訊正確。
要驗證端對端流程,選擇「提交」將你的解決方案推送到連接的 GitHub 倉庫。
如果提交成功,整合功能就能正常運作。
透過程式碼連結
你可以使用 Dataverse Web API 或 PowerShell 程式化連接 GitHub,而不必使用使用者介面。 欲了解更多資訊,請參閱「連接至 GitHub 倉庫」。