笔记本源代码管理和部署
本文介绍 Git 集成和部署管道如何适用于 Microsoft Fabric 中的笔记本。 了解如何设置与存储库的连接,如何管理笔记本以及如何在不同的环境中部署笔记本。
笔记本 Git 集成
Fabric 笔记本提供 Git 集成,用于通过 Azure DevOps 进行源代码控制。 借助 Git 集成,可以对笔记本进行备份和版本控制,根据需要还原到以前的阶段,使用 Git 分支协作或单独工作,并在 Fabric 中完全管理笔记本内容生命周期。
注意
从 2024 年 10 月开始,笔记本 git 集成支持在同步到新工作区时保留附加环境的映射关系,这意味着将笔记本和附加环境一起提交到 git 存储库,并将其同步到另一个工作区,新生成的笔记本和环境将绑定在一起。 此升级将影响 git 中版本控制的现有笔记本和依赖环境,笔记本元数据内容中附加环境的物理 ID 将替换为逻辑 ID,更改将反映在差异视图上。
设置连接
从工作区设置中,可以轻松设置到存储库的连接,以提交和同步更改。 若要设置连接,请参阅 Git 集成入门。 连接后,各种项(包括笔记本)将显示在“源代码”控制面板中。
成功将笔记本实例提交到 Git 存储库后,可在存储库中看到笔记本文件夹结构。
现在可以执行将来的操作,例如“创建拉取请求”。
Git 中的笔记本表示形式
下图是存储库中每个笔记本项的文件结构示例:
将笔记本项提交到 Git 存储库时,笔记本代码将转换为源代码格式,而不是标准的 .ipynb 文件。 例如,PySpark 笔记本转换为 notebook-content.py 文件。 通过这种方法,可以使用内置差异功能更轻松地进行代码评审。
在项内容源文件中,元数据(包括默认湖屋和附加环境)、markdown 单元格和代码单元会被保留并加以区分。 当同步回 Fabric 工作区时,此方法支持精确恢复。
同步到 Git 时不包括笔记本单元输出。
注意
部署管道中的笔记本
还可以使用部署管道跨不同环境(例如开发、测试和生产)部署笔记本代码。 借助此功能,可以简化开发过程,确保质量和一致性,并通过轻量级、低操作操作减少手动错误。 还可以使用部署规则来自定义部署笔记本时的行为,例如更改笔记本的默认湖屋。
注意
- 现在正在使用部署管道的新设计,可以通过关闭“新建部署管道”来访问旧 UI。
- 从 10 月开始,Fabric 笔记本会支持自动绑定功能,该功能将在部署到下一阶段时绑定同一工作区中的默认湖屋和附加环境。 更改将对部署管道中的现有笔记本产生影响。
- 默认湖屋和附加环境(当所有依赖项都位于同一工作区中)将替换为目标工作区中新生成的项时,笔记本元数据更改将在下一轮部署的差异视图中突出显示。
- 可以为默认湖屋设置部署规则以替代自动绑定的湖屋。
- 已知问题:在部署期间,笔记本中的冻结单元格状态将丢失。 我们目前正在处理相关任务。
使用部署管道,完成以下步骤来完成笔记本部署。
创建新的部署管道或打开现有的部署管道。 (有关详细信息,请参阅部署管道入门。)
根据部署目标将工作区分配到不同的阶段。
选择、查看和比较不同阶段之间的项(包括笔记本),如以下示例所示。 突出显示的锁屏提醒指示上一阶段和当前阶段之间的已更改项计数。
选择“部署”以跨开发、测试和生产阶段部署笔记本。
(可选。)可以选择“部署规则”,为部署过程创建部署规则。 部署规则条目位于部署过程的目标阶段。
在使用部署规则进行部署时,Fabric 支持参数化每个笔记本实例的默认湖屋。 有三个选项可用于指定目标默认湖屋:与源湖屋、N/A(无默认湖屋)和其他湖屋相同。
可以通过设置此规则来实现安全的数据隔离。 你的笔记本的默认湖屋将被替换为你在部署期间指定为目标的湖屋。
注意
在部署规则中设置默认湖屋时,必须具有湖屋 ID。 可以从项 URL 链接获取湖屋 ID。 部署规则的优先级高于自动绑定,当配置部署规则时,自动绑定的湖屋将被覆盖。
从“部署历史记录”监视部署状态。