Git和共享python库

问题描述 投票:3回答:1

这可能是一个新手问题,所以请原谅。我们有一个小型的python开发团队,我们的回购组织如下所示。我们有一个跨多个脚本(包装器)共享的自定义库,然后是特定于每个包装器的库。以下结构在Git下维护。到目前为止,这已经发挥了作用。现在我们想发布包装器,但是单独发布。同样,我们需要发布wrapper1,针对不同的受众(不同的时间轴和需求)以及稍后的包装器2。两者都需要包含shared_library,只包含其特定的库。做这个的最好方式是什么?

repo/:
    wrapper1.py
    wrapper2.py
    shared_library/:
        module1.py
        module2.py
    wrapper1_specific_lib/:
        wrapper1_module1.py
        wrapper1_module2.py
    wrapper2_specific_lib/:
        wrapper2_module1.py
        wrapper2_module2.py

我们考虑了以下解决方案:

  1. 重新组织为三个单独的repos:wrapper1,wrapper2和shared_library并单独发布。
  2. 对wrapper1和wrapper2有两个单独的repos,并定期同步共享库(!!?!!)
  3. 保持这样,但探索是否可以以某种方式使用Git来释放所选文件,特定于每个包装器的文件夹。

求助于python代码组织,以便使用Git更好地进行发布管理。提前致谢!!

python git shared-libraries release code-structure
1个回答
1
投票

您有3个产品,每个产品都有自己的发布时间表。 Wrapper1用户对看到wrapper2代码不感兴趣,反之亦然。突破3回购将是最简单的方法。

请注意将自动化单元测试打包到shared_library仓库中。两个依赖的应用程序都应该能够成功运行自己的测试和共享测试。这将变得很重要,因为已发布的应用程序提交新功能请求并尝试将shared_library拉向不同的方向。

© www.soinside.com 2019 - 2024. All rights reserved.