作为软件CI流程的一部分,我还创建了Debian数据包,并将其放入暂存库中,以便可以在测试系统上以最终预期的方式访问该软件。为了创建DEB文件,使用了Cargo-deb
板条箱,我的(Gitlab)CI运行程序管理暂存库使用reprepro
来完成。
我遇到的问题是Debian软件包版本。 Cargo-deb
对创建的包元信息使用version
中指定的Cargo.toml
属性,其语义版本三元组在许多分阶段构建中不应更改。此刻,这迫使我在每次提交之前手动将版本字符串调整为“ X.Y.Z-preV”。如果我忘记在此处修改版本的“ V”部分,我的管道将失败,因为reprepro抱怨它两次获得相同的版本(假设其余构建成功)。
我当然可以编写一个Shell脚本,该脚本以某种方式通过解析Cargo.toml
文件并重写版本行来增加此值,但是我一直在想是否有一种更优雅的方式来做到这一点,也许利用来自Cargo-deb
或reprepro
的一些模糊标志。