[本文是预发行文档,可能会有所更改。]
若要将 Dataverse 环境或解决方案连接到GitHub,请创建GitHub应用,将应用私钥存储在Azure 密钥保管库中,创建 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
- 这是一项预览功能。
- 预览功能不适合生产使用且功能可能受限。 这些功能在正式发布之前可供使用,以便客户可以抢先体验并提供反馈。
先决条件
- Dataverse Git 集成是 托管环境的一项功能。 开发环境和目标环境必须启用为托管环境。
- 具有组织管理员访问权限的GitHub帐户。
- 具有创建密钥保管库资源权限的 Azure 订阅。 密钥保管库 必须与 Dataverse 环境位于同一个 Microsoft Entra 租户中。
- 你需要一个你在其中拥有“系统管理员”安全角色的 Dataverse 环境。
- 您希望连接到源代码控制的自定义非托管解决方案。 如果还没有,请创建一个。
创建GitHub应用
在浏览器中打开GitHub。 选择右上角的个人资料图片,然后转到“设置开发人员设置”。>
选择“新建 GitHub 应用”。
还可以直接转到GitHub应用注册页,创建新的GitHub应用。
在“创建GitHub应用”页上,在“GitHub应用名称”字段中输入GitHub应用的唯一名称。 例如,输入
MyOrgGitHubIntegrationApp。填写 主页 URL 字段。 您可以使用您组织的网站或 GitHub 仓库的网址。
如果不需要 Webhook 通知,请清除 Webhook部分中的活动复选框。
配置存储库权限
向下滚动到 “权限 ”部分。
展开 存储库权限,然后将 内容 设置为 “读取和写入”。 此权限允许应用读取和写入源代码管理集成存储库内容。
向下滚动并选择“创建GitHub应用”。
在“GitHub应用设置”页上,复制客户端 ID。 在 Dataverse 中注册应用配置时,需要此值。 客户端 ID 使用一种格式,例如
Iv23liBWoH6sf7xGrRe9。从GitHub应用设置页生成和下载私钥。 在后面的步骤中将私钥存储在Azure 密钥保管库中。
在目标存储库上安装GitHub应用
在“GitHub应用设置”页中,选择左窗格中的“安装应用”。
在拥有目标存储库的帐户或组织旁边,选择“安装”。
如果目标存储库属于GitHub组织,则组织管理员可能需要批准应用安装。 管理员会收到一条通知,用于评审和批准请求。
选择是授予应用对所有 存储库 的访问权限还是 仅选择存储库。 对于安全最佳做法,请仅选择源代码管理集成所需的特定存储库。
选择“安装”即可完成安装。
配置 Azure 密钥保管库
打开Azure门户并转到密钥保管库资源。 如果没有密钥保管库,请先创建新的密钥保管库。
在“密钥保管库”窗格中,在左侧导航窗格中选择密钥。
选择生成/导入。
在 “选项 ”下拉列表中,选择“ 导入”。
输入密钥的名称,例如
demoGitHubKey,然后上传.pem从GitHub下载的文件。选择 “创建 ”以导入密钥。
注释
将后续 Dataverse 环境连接到GitHub时,无需重复上述GitHub应用并Azure 密钥保管库设置步骤。 可以在多个存储库中重复使用相同的GitHub应用,并在多个环境中重复使用相同的Azure 密钥保管库配置。
创建GitHub连接
使用个人GitHub帐户创建 OAuth 连接。 此连接验证你在安装过程中是否有权访问目标存储库。 在运行时,GitHub应用处理与GitHub的通信,因此单个用户无需创建GitHub连接。
注释
或者,可以使用GitHub个人访问令牌(PAT),而不是GitHub连接。 当 Dataverse 环境已启用虚拟网络 (VNET) 支持,或无法创建 GitHub 连接时,请使用 PAT。
转到 Power Apps 预览版,然后选择 连接。
选择新建连接。
搜索并选择GitHub标准连接器。
使用 GitHub 帐户登录并授予请求的访问权限。
登录GitHub帐户必须具有目标存储库的管理员访问权限。 OAuth 连接会验证你的权限。
创建连接后,将其打开。 请注意浏览器地址栏中 URL 中的连接 ID。 配置 Git 连接时需要此值。
查看连接详细信息时,连接 ID 将显示在 URL 中,如以下示例所示:
https://make.preview.powerapps.com/.../connections/shared_github/{connectionId}/details
批准 OAuth 应用对你的组织的访问权限
如果GitHub组织启用了非Microsoft应用程序访问限制,则组织管理员必须批准Power Apps GitHub连接器使用的 OAuth 应用。 在组织设置第三方访问中检查组织的设置>。
有关详细信息,请参阅为组织 启用 OAuth 应用访问限制 和 批准 OAuth 应用。
从解决方案连接到GitHub
转到Power Apps预览版,然后创建新的非托管解决方案,或选择现有的自定义非托管解决方案。
在 “源代码管理 ”页上,选择“ 连接”。
在“连接到 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存储库”。