У меня есть приложение для Java.Как мне управлять задачами после сборки?
Я могу запустить задачу Release Maven, который будет делать какие-то приятные вещи для меня:
- Изменить номер версии от 1.0.0-SNAPSHOT до 1.0.0
- Increment номер версии в моем ПОМ к 1.0.1-SNAPSHOT
- Tag релиз в системе управления версиями
- Загрузить получившийся пакет в мой репозиторий Maven
Я бы хотел сделать еще один шаг. У меня есть несколько шагов после сборки, которые я сейчас делаю вручную.
- Обновить конфигурацию launch4j XML-файл с соответствующей версией
- Wrap полученной банка в исполняемом с помощью launch4j
- Скопируйте полученное EXE в директорию пакета
- Скопируйте несколько вспомогательных файлов в директорию пакета
- Почтовый каталог пакета вверх
- Отправьте по электронной почте пакет своим тестерам.
В конечном итоге у меня возникнет дополнительная задача создания установщика, использующего каталог пакетов.
Я не знаю, что maven или ant являются правой инструментами для автоматизации моих оставшихся 6 задач, но похоже, что одна или комбинация обоих может потенциально выполнить то, что мне нужно.
Возможно, я мог бы написать командный файл или простой скрипт perl, чтобы делать это быстрее, чем выяснять, как это сделать, но я бы предпочел сохранить как можно более стандартное, чтобы я не принимал дополнительные ответственность за непрекращающуюся поддержку процесса освобождения.
Мне кажется, что это задачи, которые не могут быть стандартной частью сборки/выпуска, но обычно достаточно видны, что для их достижения должна быть лучшая/самая распространенная практика.
Я закончил использовать maven-copy-plugin для копирования и создания zip-файла. Документация очень понятна. http://evgeny-goldin.com/wiki/Copy-maven-plugin Я работаю над тем, чтобы Дженкинс работал правильно. Плагин launch4j-maven был почти таким же простым, как копирование моего xml-файла launch4j в мой pom. Несколько необходимых изменений для сорняков и использования $ {project.version} в качестве переменной в некоторых местах хорошо работали. Кроме того, я использовал теневой плагин, чтобы построить банку для launch4j. Следует отметить, что плагины, которые работают в одной и той же фазе, обрабатываются в том порядке, в котором они объявлены в pom. –