私有 pypi 存储库中的开发版本管理
Development versions management in private pypi repository
我们正在做一个基于微服务的产品,在组件之间共享的自研python包的开发版本管理上遇到了一些困难。
我们希望能够开发微服务的不同功能及其依赖项,从我们的私有 pypi 存储库中提取单独的开发版本,而不会干扰稳定版本。
例子
- 实用程序包
XYZ
在多个服务之间共享,当前版本为 1.2.5
- 微服务
A
依赖XYZ
版本^1.0.0
- 微服务
B
依赖XYZ
版本^1.0.0
- 开发人员 1 正在为功能
foo
开发微服务 A
- 开发人员 2 正在为功能
bar
开发微服务 B
场景
两个开发人员都需要更改 XYZ 以添加将来可以被其他服务重用的核心功能。两位开发人员都从当前稳定的 1.2.5
版本分支并开始研究他们的功能。在冲刺结束时,他们的两个分支将被合并,版本 1.3.0
将被发布。
同时,在开发过程中,开发人员希望能够测试他们正在处理的微服务与包之间的集成。
问题
我们使用 poetry 来管理我们的依赖项,我们希望使用私有 pypi 存储库来指定版本间隔,而不是直接从私有 git 存储库中拉取时硬编码标签或分支名称。
我们最初认为我们可以像下面的示例一样命名我们的版本,并使正在开发的微服务依赖于这个特定的版本
1.3.0-foo
1.3.0-bar
但是我们发现版本命名的PEP标准不允许我们给版本添加自定义标签。
是否有最佳实践或解决方法来继续使用我们的私有 pypi 存储库?
正如我从文档中看到的那样,您应该能够像此处解释的那样指定开发后缀 https://www.python.org/dev/peps/pep-0440/#examples-of-compliant-version-schemes
我正在查看部分:
"major.minor" versioning with developmental releases, release candidates and post-releases for minor corrections:
0.9
1.0.dev1
1.0.dev2
1.0.dev3
1.0.dev4
如果开发者 1 将他的版本命名为 1.3.dev1
,开发者 2 命名为 1.3.dev2
等等?
我们正在做一个基于微服务的产品,在组件之间共享的自研python包的开发版本管理上遇到了一些困难。
我们希望能够开发微服务的不同功能及其依赖项,从我们的私有 pypi 存储库中提取单独的开发版本,而不会干扰稳定版本。
例子
- 实用程序包
XYZ
在多个服务之间共享,当前版本为1.2.5
- 微服务
A
依赖XYZ
版本^1.0.0
- 微服务
B
依赖XYZ
版本^1.0.0
- 开发人员 1 正在为功能
foo
开发微服务 - 开发人员 2 正在为功能
bar
开发微服务
A
B
场景
两个开发人员都需要更改 XYZ 以添加将来可以被其他服务重用的核心功能。两位开发人员都从当前稳定的 1.2.5
版本分支并开始研究他们的功能。在冲刺结束时,他们的两个分支将被合并,版本 1.3.0
将被发布。
同时,在开发过程中,开发人员希望能够测试他们正在处理的微服务与包之间的集成。
问题
我们使用 poetry 来管理我们的依赖项,我们希望使用私有 pypi 存储库来指定版本间隔,而不是直接从私有 git 存储库中拉取时硬编码标签或分支名称。
我们最初认为我们可以像下面的示例一样命名我们的版本,并使正在开发的微服务依赖于这个特定的版本
1.3.0-foo
1.3.0-bar
但是我们发现版本命名的PEP标准不允许我们给版本添加自定义标签。
是否有最佳实践或解决方法来继续使用我们的私有 pypi 存储库?
正如我从文档中看到的那样,您应该能够像此处解释的那样指定开发后缀 https://www.python.org/dev/peps/pep-0440/#examples-of-compliant-version-schemes
我正在查看部分:
"major.minor" versioning with developmental releases, release candidates and post-releases for minor corrections:
0.9
1.0.dev1
1.0.dev2
1.0.dev3
1.0.dev4
如果开发者 1 将他的版本命名为 1.3.dev1
,开发者 2 命名为 1.3.dev2
等等?