Download the PHP package javadle/updater without Composer
On this page you can find all versions of the php package javadle/updater. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download javadle/updater
More information about javadle/updater
Files in javadle/updater
Package updater
Short Description Updater allows your Laravel application to auto-update itself.
License MIT
Homepage https://github.com/JavaDle/laravel-updater
Informations about the package updater
Updater [самостоятельное обновление для вашего приложения Laravel]
Updater позволяет вашему приложению Laravel автоматически обновляться!
Когда вы выпускаете приложение, очень важно поддерживать его; поэтому может быть необходимо опубликовать обновление для исправления ошибок, а также для реализации новых функций.
Вы развертываете свое приложение для нескольких пользователей:
Функции:
> Самостоятельное обновление
При замечании новой версии с сервера вам показывается уведомление с доступным новым обновлением для системы
> Режим обслуживания
Update активирует режим обслуживания (используя собственную команду Laravel) с момента запуска обновления до его успешного завершения.
> Безопасность
Вы можете указать, какие пользователи (например, только администратор) могут выполнять обновление для приложения; этот параметр хранится в config/updater.php
, поэтому каждое приложение может устанавливать своих пользователей независимо. Кроме того, Updater совместим с Laravel-Auth.
> Отказоустойчивый
Во время обновления Update СОЗДАЕТ РЕЗЕРВНЫЕ КОПИИ всех перезаписываемых файлов, поэтому в случае ошибки может попытаться автоматически восстановить предыдущее состояние. Если восстановление не удалось, вы можете использовать резервную копию, хранящуюся в корне вашей системы, для ручного обслуживания.
> Поддерживает скрипт PHP
Update может импортировать скрипт PHP для выполнения пользовательских действий (например, создать таблицу в базе данных после обновления); команды выполняются на последнем шаге обновления.
> Интегрированное резервное копирование/восстановление
> Многоязычный
> Доступ из веб-интерфейса или консоли
Начиная
Эти инструкции помогут вам запустить копию проекта на вашем сервере для целей разработки и тестирования.
Prerequisites
Updater был протестирован с использованием Laravel 9/10 Рекомендуемая версия Laravel >= 8
Installing
Этот пакет можно установить через Composer:
После установки необходимо выполнить следующие действия:
1) Добавьте в свой сервис провайдер в config/app.php
следующее:
2) Публикация активов пакета
Этот шаг скопирует файл конфигурации в папку конфигурации вашего приложения Laravel.
Когда он будет опубликован, вы сможете управлять конфигурацией Updater через файл в config/updater.php
, он содержит:
3) Создать version.txt
Чтобы сохранить текущую версию вашего приложения, вам нужно создать текстовый файл с именем version.txt
и скопировать его в основную папку вашего приложения Laravel.
Например, создайте файл .txt, содержащий только:
Используйте только 1 строку, первую, в файле .txt. При выпуске обновления эти файлы обновляются из Updater.
Создайте свой «репозиторий» обновлений
1) Создать архив
Создайте ZIP-архив со всеми файлами, которые вы хотите заменить во время обновления (используйте ту же структуру вашего приложения, чтобы упорядочить файлы в архиве).
1.1) Сценарий обновления (необязательно)
Вы можете создать файл PHP с именем upgrade.php
для выполнения пользовательских действий (например, создать новую таблицу в базе данных).
Этот файл должен содержать функцию с именами beforeUpdate()
и afterUpdate()
с логическим возвратом (чтобы передать статус ее выполнения в Updater), см. этот пример:
Обратите внимание, что приведенный выше пример не обрабатывает никаких исключений, поэтому статус его выполнения всегда возвращает true (не рекомендуется).
2) Установите метаданные для вашего обновления:
Создайте файл с именем updater.json следующим образом:
archive
содержит имя архива .zip (см. шаг 1).
3) Загрузите свое обновление
Загрузите updater.json
и .zip-архив в ту же папку на вашем сервере (та, на которой будет размещено обновление).
4) Настройте свое приложение
Укажите сервер, на котором будет размещено обновление, в config/updater.php
(см. Установка):
Например, если вы загружаете файлы в:
http://yoursites.com/updatesformyapp/RELEASE-1.02.zip
и http://yoursites.com/updatesformyapp/updater.json.
установите 'update_baseurl'
следующим образом: 'update_baseurl' => 'http://yoursites.com/updatesformyapp',
Использование
Updater реализует три основных метода, которые вы можете вызвать с помощью веб-маршрутов или команды artisan:
updater.check, updater:check
Возвращает '' (обновление не существует) ИЛИ $version (например, 1.0.1, если обновление существует).
updater.currentVersion, updater:current-version
Возвращает текущую версию вашего приложения (из version.txt
).
updater.update, updater:update
Он загружает и устанавливает последнее доступное обновление.
Этот веб-маршрут защищен с помощью информации из 'allow_users_id'
в config/updater.php
Я предлагаю не использовать эти маршруты напрямую, НО показывать оповещение, когда доступно обновление; Предупреждение может содержать кнопку для выполнения обновления, см. решение ниже:
Всплывающее окно с уведомлением с использованием Bootstrap 5 и JQuery (в комплекте)
(readme files/preview 1.png «Предупреждение с кнопкой обновления»)
Добавьте в resources/view/layout/app.blade.php
этот код, чтобы загрузить представление, включенное в Updater (я предлагаю сразу перед @yield('content')
):
ТЕСТ: опубликуйте обновление и обновите страницу, чтобы показать оповещение.