Как часть процесса CI моего программного обеспечения, я также создаю пакеты Debian, которые я помещаю в промежуточный репозиторий, чтобы обеспечить доступ к программному обеспечению в конечном итоге в тестируемых системах.Для создания файлов DEB используется корзина Cargo-deb
, мой бегун CI (Gitlab), управляющий промежуточным репо, делает это с помощью reprepro
.
Проблема, с которой я сталкиваюсь, - это версия пакета Debian.,Cargo-deb
использует свойство version
, указанное в Cargo.toml
, для метаинформации созданного пакета, семантическая версия которой Triple не должна меняться для многих промежуточных сборок.На данный момент это заставляет меня вручную настраивать строку версии на что-то вроде «XYZ-preV» перед каждым коммитом.Если я когда-нибудь забуду поднять «V» часть версии, мой конвейер потерпит неудачу, так как представьте, что он получил одну и ту же версию дважды (при условии, что остальная часть сборки прошла успешно).
Я могКонечно, напишите сценарий Shell, который каким-то образом увеличивает это значение, анализируя файл Cargo.toml
и переписывая строку версии, но я продолжаю задаваться вопросом, есть ли более элегантный способ сделать это, возможно, используя некоторые более неясные флаги из Cargo-deb
или reprepro
.