Автообновление приложения с локального сервера GIT

 
 
 
Сообщения:24
Добрый день, коллеги!

Можете подсказать как реализовать автоматическое обновление программы при запуске?
Имеется (на сетевом ресурсе) репозиторий GIT, на котором можно хранить .jar-файлы.

Нет информации и примеров взаимодействия моего Java-приложения с GIT.

Заранее спасибо.
 
 
Сообщения:10008
В Git репозиториях JAR файлы не хранят, а только исходники. JAR/WAR/ZIP файлы как правило собираются Build Server'ом (например Jenkins) и загружаются в бинарний репозиторий (например, Sonatype Nexus).
 
 
Сообщения:24
Спасибо за ответ!
Боюсь что у нас не будут ставить такое на работе.
Топорный метод нужен тогда ))
 
 
Сообщения:24
Посмотрел про JNLP.
Есть у кого опыт в реализации такого?
Я так понял он обновляет с Web-server-а.
 
 
Сообщения:1052
JNLP похерили в девятой яве. а так да, рабочая фигня.
обновляется не совсем точно. просто скачивает ну и некоторое время держит в кеше.
 
 
Сообщения:887
Привет!
Боюсь, Староверъ прав. Это годами проверенная технология и придуманная, отнюдь, неплохими инжинерами.
 
 
Сообщения:24
Реализовал супер топорное решение))

Вывожу дату последнего изменения файла на сетевом ресурсе и файла в папке приложения.
Если даты не совпадают копирую с заменой.

Вроде бы как нормально. Если файл обновится на ресурсе, то программа его автоматически скачает в папку.
 
 
Сообщения:1052
если решение стабильно работает - то это хорошее решение.
а если оно при этом не требует жутких ресурсов - то это отличное решение.
 
 
Сообщения:472
makekz:
Вроде бы как нормально

ништяк, а как установить предыдущую версию, пока не работает из-за бага текущая ?
 
 
Сообщения:1052
ставишь стабильную версию на место для скачивания и приписываешь ей настоящее время.
 
 
Сообщения:24
keekkenen:
ништяк, а как установить предыдущую версию, пока не работает из-за бага текущая ?

Просто исправляешь ошибки и выкладываешь на ресурс.
Пользователю при запуске автоматически обновятся все необходимые файлы
 
 
Сообщения:24
улучшил решение!

Логика:
1. создаем файл config.ini
2. заносим туда переменные [updatePath], [MainFile] и [OtherFiles] (В OtherFiles перечисление файлов для обновления идет через ";")
3. Система заходит по указанному в *.ini - файле пути и смотрит наличие указанных файлов
4. Сравнивает файлы на ресурсе с файлами в папке программы
5. при расхождении скачивает нужные файлы
6. запускает основной файл
 
 
Сообщения:1052
для сравнения хватит либо хеша либо даты создания. первое лучше.
 
 
Сообщения:897
Привет велосипедостроителям!

Давно уже изобретены менеджеры пакетов: https://www.tecmint.com/linux-package-managers/
В которых можно настроить параметры автообновления стандартным образом.
 
 
Сообщения:472
makekz:
Просто исправляешь ошибки и выкладываешь на ресурс.

ну, да, ошибки не сами находятся.. клиент не станет ждать, когда кто-то будет исправлять, либо откажется от такого продукта, либо потребует рабочий вариант, прямо как найдет ошибку - логика проста, раньше-то работало, вот и верни как работало, а сам хоть обисправляйся
 
Модераторы:Нет
Сейчас эту тему просматривают:Нет