aiven'blog

自定义zaqar版本打包规则

背景

本文版本中的zaqar是基于社区ocata(版本号4.0.0)进行二次开发的,zaqarclient基于社区pike(版本号1.4.0)。
部署采用docker的部署方式。对于zaqar安装基于pip的源码安装方式,版本管理采用pbr+git tag.

版本定义说明

zaqar第一次发版版本号定义为4.1.0:

  • 第一位4对应社区大版本ocata,社区大版本这一位都是直接+1,以后更新社区新版本也遵循这一规则。
  • 第二位1为eayun大版本,每一次大版本升级都需要更新该版本号+1。
  • 第三位0为小版本,每次修复bug需要迭代更新时+1。

zaqarclient第一次发版版本号定义为1.4.1:

  • client只需要更新第三位,每次升级都+1

git tag

zaqar代码提测制作docker镜像前,需要对devel分支打tag:

1
2
git checkout devel
git tag -a 4.1.0

输入以下:

1
2
3
4
5
6
7
8
9
10
zaqar 4.1.0 release
meta:version: 4.1.0
meta:diff-start: 4.0.0
meta:series: ocata
meta:release-type: release
meta:pypi: no
meta:first: yes
meta:release:Author: Yang Zhenyu <cdyangzhenyu@gmail.com>
meta:release:Author: Yang Zhenyu <cdyangzhenyu@gmail.com>

上传远程仓库

1
git push origin 4.1.0

zaqarclient打tag:

1
2
git checkout devel
git tag -a 1.4.1

输入以下:

1
2
3
4
5
6
7
8
9
10
zaqar 1.4.1 release
meta:version: 1.4.1
meta:diff-start: 1.4.0
meta:series: pike
meta:release-type: release
meta:pypi: no
meta:first: yes
meta:release:Author: Yang Zhenyu <cdyangzhenyu@gmail.com>
meta:release:Author: Yang Zhenyu <cdyangzhenyu@gmail.com>

上传远程仓库

1
git push origin 1.4.1

如果需要删除tag:

1
2
git tag -d TAG
git push origin :refs/tags/TAG

安装步骤

直接使用pip安装

1
2
3
4
[root@node-145 zaqar]# git clone https://github.com/eayunstack/zaqar.git
[root@node-145 zaqar]# git checkout dev
[root@node-145 zaqar]# cd zaqar
[root@node-145 zaqar]# pip install .

查看zaqar的安装版本

1
2
3
[root@node-145 zaqar]# pip list | grep zaqar
python-zaqarclient (1.4.1)
zaqar (4.1.0)

热评文章