循序渐进 · AIP 教学 · AIP Logic(六)

在分支上开发 AIP Logic

AIP Logic 与 Global Branching 集成,让你在隔离的分支上安全地改 Logic 函数,改完再合并。

全部目录 AIP 首页 ← 上一篇 在分支上开发 AIP Logic 下一篇 →
本文来源 · Source 内容整理自 Palantir Foundry 官方文档:
https://www.palantir.com/docs/foundry/logic/branching-logic/
原始标题:AIP Logic • Branching AIP Logic • Palantir · 所属:AIP Logic(用积木搭 AI 逻辑)

先记住这几条

① 分支提供隔离
改动不影响主线的生产和他人工作。
② 支持增改资源
在分支上新建或修改 Logic 资源。
③ 要处理 rebase 与审批
合并前的同步与评审流程。
④ 跨应用兼容性有边界
不是所有应用都完全支持分支。
0

写在前面

AIP Logic 与 Global Branching 集成,以便安全、隔离地开发 Logic 函数。本文档介绍如何在分支上使用 Logic,包括添加和修改资源、跨应用兼容性、rebase 以及审批流程。

关于 Global Branching 概念和工作流的通用信息,请参阅 Global Branching 文档

1

增删改资源

要点:分支上能做什么操作。

Add Logic functions to a branch

要将一个 Logic 函数添加到分支:

  1. 导航到分支上的该 Logic 文件,或使用页面右上角的分支选择器选择指定的分支。
  2. 对 Logic 文件做一次编辑并保存。该 Logic 函数此时已成为分支上已保存的资源。

Remove Logic functions

要从分支上移除一个 Logic 函数,请使用右下方的侧边栏并选择 Remove from branch

Remove from branch 按钮
Remove from branch 按钮

Modify Logic functions

要修改分支上的 Logic 函数,做任意更改并保存即可,就像你在 main 分支上所做的一样。

Publish on a branch

你可以按照与 main 上相同的流程,在分支上发布一个 Logic 函数。在分支上成功发布该函数后,你就可以在 Workshop 和由函数支撑的 action 中使用你分支上的新函数版本。该函数版本会被标记为 Branched pre-release 标签。在你分支上发布的函数将无法从其他分支(包括 main)访问。

2

跨应用兼容性

要点:哪些应用支持分支开发。

Using branched Logic functions

分支上的 Logic 函数可用于:

  • Ontology 对象: 函数可以与同一分支上的 ontology 对象交互。
  • 其他支持分支的应用: 任何使用 Logic 函数并支持分支的 Foundry 应用(例如 Workshop)。
3

合并要求

要点:合并回主线前要满足什么。

Deployability checks

在 Logic 函数可以被部署之前,它必须:

  • 与 main 保持最新(无需 rebase)
  • 已在分支上发布
  • 处于可发布状态(无错误)
  • 没有待处理的审批

Approvals and reviewer flow

Protected main branch

你可以保护你的 main 分支,以禁止对 main 上的 Logic 函数进行直接编辑。启用保护后,所有更改都必须在分支上进行、经过审核,并通过提案流程合并。

要保护某个分支,请在 Compass 中导航到该资源并选择 Branch protection > Protect with project policy

Branch protection 标签页,展示了 protect with policy 选项。
Branch protection 标签页,展示了 protect with policy 选项。

如果要默认保护某个项目中的所有 Logic 文件,请在项目级别启用保护。在该项目中创建的任何新 Logic 文件都会自动受到保护。

Reviewer experience

创建提案后,审核者可以被添加到 Global Branching 应用中的该 Logic 文件。被添加为审核者的用户会收到一封请求其审核的电子邮件,其中包含指向该提案的链接。

在那里,审核者可以:

  • 通过选择文件右上角的 Review 选项进入审核页面。当某个 Logic 函数需要审核时,该选项可见。 <br><img src="./media/review-logic-file.png" alt="Logic 文件审核界面,允许审核者批准或拒绝拟议的更改。" width="600">
  • 查看 main 与分支更改的并排对比。
  • 查看对 Logic 函数的所有修改。
  • 批准或拒绝这些更改。
  • 编辑他们的审核。 <br><img src="./media/update-review.png" alt="编辑审核选项。" width="600">
4

Rebase 与冲突解决

要点:与主线同步的做法。

当 main 分支自你的分支创建以来或自上次 rebase 以来被修改过时,就需要进行 rebase。如果你的 Logic 函数需要进行 rebase,你会在 Logic 文件顶部看到一条通知。

Rebase 通知
Rebase 通知

How to rebase

  1. 导航到需要 rebase 的 Logic 函数,并选择 Rebase 选项。
  1. 查看更改,在分屏对比视图中查看。左侧显示当前的 main 版本,右侧显示你的分支版本。

<img src="./media/rebase-logic.png" alt="Rebase 对比视图。" width="600">

  1. 对你的分支做必要的更改,如果存在合并冲突,可能需要纳入来自 main 的更改。
  1. 通过选择 Finish 完成 rebase
5

已知限制

要点:当前做不到的事。
  • 分支只能从 main 创建。你不能从其他分支创建分支。
  • 分支上不能更改 API 名称。所有分支上的 Logic 函数共享同一个 API 名称。
  • 在分支上时,已发布的 Logic 函数不能被删除。
  • 合并冲突的解决需要人工干预。当 rebase 期间发生冲突时,你必须使用分屏对比视图,手动将来自 main 的更改纳入你的分支版本,并在完成 rebase 之前解决所有冲突性修改。

延伸阅读 · 相关页面

按主题横向跳转,不必顺着目录一篇篇读。

本组其他页面 · AIP Logic(用积木搭 AI 逻辑)

同一主题下的相邻内容。

常见问题速答 · FAQ

关于「在分支上开发 AIP Logic」,读者最常问的几个问题。

增删改资源是什么?
分支上能做什么操作。要将一个 Logic 函数添加到分支。
跨应用兼容性是什么?
哪些应用支持分支开发。分支上的 Logic 函数可用于。
合并要求是什么?
合并回主线前要满足什么。在 Logic 函数可以被部署之前,它必须。
Rebase 与冲突解决是什么?
与主线同步的做法。当 main 分支自你的分支创建以来或自上次 rebase 以来被修改过时,就需要进行 rebase。如果你的 Logic 函数需要进行 rebase,你会在 Logic 文件顶部看到一条通知。