Мы находимся в процессе преобразования нашего основного процесса сборки с ant на 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 в ситуации непрерывной интеграции для установки версионных артефактов в репозиторий?