创建修补程序包,这些程序包在现有版本上添加迭代,而不创建标记。

vdt.versionplugin.hotfix的Python项目详细描述


当进行热修复并尝试自动化版本控制时,我们可以找出几个问题。

  1. 需要修复2个现有版本之间的修补程序。 这是必需的,因为在测试为 AllReady在版本1.0.123上运行。
  2. 修补程序应合并回主分支,但不应导致 自动版本系统。 可能发生的情况是,我们正在1.0.0上执行修补程序,而head已经收到allready 版本1.0.123的标记。如果我们添加一个hotfix标记并将其合并到1.0.123之上,则 无法重置版本计数器。

因此,从不标记修补程序。我们只是在 一个以前的包并在不标记存储库的情况下发布它。背后的原因 策略是,当修补程序合并到头上时,它将被标记并释放 不管怎样,通过主分支,对于 同样的特点。(强制执行这是vdt.version的主要功能)。

用法

修补程序插件将查找当前分支中的最新标记并获取其版本。 如果我们从版本历史中的某个标记开始一个分支,那么 会好起来的:

> version --plugin=hotfix --iteration=11 --maintainer=lars@permanentmarkers.nl -e -t deb setup.py
Skipping installation of /var/folders/46/j79zq70n21n5m54j30f1rwrh0000gp/T/package-python-staging20140618-19649-432fe4/usr/lib/python2.7/dist-packages/vdt/__init__.py (namespace package)
Skipping installation of /var/folders/46/j79zq70n21n5m54j30f1rwrh0000gp/T/package-python-staging20140618-19649-432fe4/usr/lib/python2.7/dist-packages/vdt/versionplugin/__init__.py (namespace package)
> ls
python-vdt.versionplugin.hotfix_0.0.1-11_all.deb

修补程序插件无法创建新版本,因此无法为您标记:

> version --plugin=hotfix --minor --iteration=11 --maintainer=lars@permanentmarkers.nl -e -t deb setup.py
Skipping installation of /var/folders/46/j79zq70n21n5m54j30f1rwrh0000gp/T/package-python-staging20140618-19819-l5ti7o/usr/lib/python2.7/dist-packages/vdt/__init__.py (namespace package)
Skipping installation of /var/folders/46/j79zq70n21n5m54j30f1rwrh0000gp/T/package-python-staging20140618-19819-l5ti7o/usr/lib/python2.7/dist-packages/vdt/versionplugin/__init__.py (namespace package)
> ls
python-vdt.versionplugin.hotfix_0.0.1-11_all.deb

您可以看到,虽然我们请求增加次要版本号,但这并没有发生。

这些修补程序包可以被推送到一个单独的“修补程序”存储库,因为它们接收到一个更高的迭代 根据它所基于的包的编号,它将安装在该基本版本上运行的任何环境中。

较新的包将具有更高的版本号并超过迭代。

插件参数

--iteration The iteration number for the hotfix
-s Fpm input type, one of 'dir', 'rpm', 'gem', 'python', 'empty', 'tar', 'deb'.
   The default is python, which has some default configuration.

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何使用Ibatis在插入时返回ID(使用返回关键字)   java(org.hibernate.TransactionException)org。冬眠TransactionException:事务未成功启动   java小程序jwindow始终位于JNLP顶部   在Java中重新解析JSON对象?   java单击后将ListView数据移动到新屏幕   Mule ESB中的java WSA寻址特性   Java,对象编程:获取返回0值的方法   hibernate的Java通用问题,如何处理T get(K id)   java在使用超级CSV读取CSV时忽略引用   ssh使用Java远程运行命令   java如何向具体用户发送websocket消息?   在JAVA中,我可以在不指定的情况下使用条件运算符吗?