+44 203 858 0803 hello@hip.property

在HiP,我们正在开源我们工具链的许多模块和部件。

但是, 在这里讨论,我们将所有平台代码保存在一个单独的代码中 monorepo,这对我们很有用。 将我们的代码分离到私有回购与公共开源产品之间引入了我们试图避免的摩擦。

因此,我们创建了Jailbreak - 一个非常小的工具,用于保持单个repo的子集与公共镜像同步。

越狱真的只是一个美丽的包装 git filter-branch - 它实际上只是一个简单的python脚本。

尽管如此简单,但它使我们的发布周期变得非常简单,并且意味着我们确信没有错误将我们代码的选定子集推入开放状态。

另外,git的 过滤分支 命令保留我们的提交历史记录,而不是将所有内容压缩到单个“导出”提交中。 当我们第一次推出公开内容时,这一点特别有用 - 因为完整的历史记录是开源的,还有项目。

使用越狱

包含我们要开源的模块的每个目录都有一个 .jailbreak 放在根目录中的文件,其中包含公共镜像的git地址:

例如 - 这是 .jailbreak 越狱本身的文件:

git@github.com:臀部属性/ jailbreak.git

工作流程有点像这样:

  • 编辑我们的私人monorepo中的功能
  • 推送到分支机构,并按照我们的标准拉取请求流程进行操作
  • 从monorepo的根源,我们运行
    越狱{nameOfProject}
  • 越狱克隆回购临时位置,做到了 git filter-branch 魔术,调整遥控器,并推送到github(或任何在其中定义的位置
    .jailbreak

我们很快就会将它集成到我们的CD管道中,以便在我们合并到master时自动推送所有更改,确保一切都保持最新,但是现在,手动过程运行良好。

越狱本身已经开源,可以在HiP的github repo上找到, 点击此处。

我们在网站上使用cookies

如果您接受我们的跟踪cookie,请确认。 您也可以拒绝跟踪,这样您就可以继续访问我们的网站,而无需向第三方服务发送任何数据。
G|translate Your license is inactive or expired, please subscribe again!