Мы находимся в процессе преобразования нашего основного процесса сборки из муравья в maven. Мы используем TeamCity для нашего сервера непрерывной интеграции (CI).
Мы хотели бы использовать CI-сервер для запуска (ночных) сборок, версия которых содержит номер сборки, как в 1.0.0.build #. Эти сборки будут установлены в нашем локальном репозитории maven для использования в других проектах. Таким образом, сервер CI будет управлять версиями, maven будет создавать проект, а репозиторий maven сделает эти сборки доступными для других проектов.
Я намеревался начать сборку с сервера CI с помощью следующей команды:
mvn -Dversion=1.0.0.25 install
pom проекта будет иметь фиктивный номер версии, а флаг -D переопределит его, как в:
<version>0.0.0.0</version>
Проблема с этим методом заключается в том, что плагин установки maven использует только версию в файле pom, а не версию, переданную в командной строке. Это замечено в этой проблеме maven .
Итак, поскольку эта проблема существует с 08/2006 и не устранена, я предполагаю, что это как-то не « maven way ». Поэтому мой вопрос: как можно использовать maven в ситуации непрерывной интеграции для установки версионных артефактов в хранилище?