Краткое руководство о том, как обновить сайт HydePHP


Введение

В этом кратком сообщении я расскажу о процессе обновления существующего сайта HydePHP до новой версии HydePHP. Если у вас еще нет сайта Hyde, вам стоит ознакомиться с другим моим руководством «Создание нового сайта Hyde с нуля»!

Это руководство написано, пока HydePHP находится в бета-версии, и поэтому мы немного отклоняемся от семантической версионности, так как обратная совместимость не гарантируется, пока мы находимся в серии 0.x. Проекты у всех разные, и методы, использованные в этом посте для этого конкретного сайта, могут не подойти для вашего проекта. Пожалуйста, ознакомьтесь с общим руководством по обновлению для получения дополнительной информации.

Справочная информация

Сегодня я выпустил Hyde версии 0.30, которая добавляет новую классную функцию, позволяющую вам использовать Laravel Blade внутри ваших Markdown файлов. HydePHP.com, конечно же, построен на Hyde, но в настоящее время он работает на версии 0.29.3, так что давайте обновим его!

Краткая справка

Сначала кратко о структуре HydePHP.

Он разделен на два пакета. Первый, hyde/hyde, похож на laravel/laravel и связывает все вместе. Когда вы создаете новый проект Hyde, вы будете использовать этот пакет.

Однако основная часть логики Hyde находится в пакете hyde/framework.
Что эквивалентно laravel/framework. Наличие разделенной логики значительно упрощает обновление существующих проектов, поскольку патчи можно установить, просто обновив пакет hyde/framework.

Но поскольку этот конкретный выпуск добавляет некоторые изменения в файлы в hyde/hyde, нам нужно будет обновить их оба. Давайте приступим!

Обновление сайта HydePHP.com

Поскольку сайт HydePHP.com был создан с помощью программы установки hyde/hyde, его очень легко обновить.

Шаг 1: Синхронизация с Git VCS

Исходный код сайта находится в репозитории GitHub DocsCI. Всякий раз, когда мы делаем push в основную ветку, статический сайт будет компилироваться GitHub Action, а затем развертываться на GitHub Pages.

Сначала мы хотим убедиться в актуальности репозитория DocsCI.

git pull origin master
Войдите в полноэкранный режим Выйдите из полноэкранного режима

Теперь мы можем загрузить последнюю версию hyde/hyde. Я предпочитаю делать это с помощью Git, чтобы иметь возможность позаботиться о любых конфликтах слияния, которые могут возникнуть. Для этого я создал дополнительный Git remote под названием package, который указывает на репозиторий hyde/hyde.

# Refresher on adding a remote, you only need to do this once
git remote add package git@github.com:hydephp/hyde.git
Вход в полноэкранный режим Выход из полноэкранного режима

Теперь мы можем извлечь файлы пакета:

git pull package master
Войти в полноэкранный режим Выйти из полноэкранного режима

Шаг 1B: Устранение любых конфликтов слияния

На этом этапе у вас, вероятно, возникнут конфликты слияния. В моем случае их было два. Первый — для composer.lock, и так как я буду обновлять зависимости позже, меня это не волнует, поэтому я просто сохраню тот, что был в мастере.

Далее, у меня возник конфликт в файле config/markdown.php. Это связано с тем, что в этом релизе в этот файл добавлена новая опция конфигурации. И поскольку я хочу быть уверенным, что у меня последняя версия конфигурации, и при этом не потерять свои пользовательские изменения, я открою его в VSCode и проверю изменения.

Как мы видим, это простое изменение, и нет никакого реального конфликта, поэтому я приму входящее изменение и сохраню файл, дополнительно посмотрев, чтобы убедиться, что ничего не нарушено. Как только я буду уверен, что слияние прошло успешно, я зафиксирую его.

Шаг 2: Обновление зависимостей

Чтобы убедиться, что мы в курсе всех событий, я обновляю зависимости NPM и Composer.

npm update
composer update
Вход в полноэкранный режим Выход из полноэкранного режима

Затем я зафиксирую изменения в файле блокировки, если они есть.

Шаг 3: Создание сайта для проверки установки

Далее, чтобы предотвратить любые сюрпризы в CI, лучше всего скомпилировать статический сайт и собрать все активы, чтобы выявить любые проблемы перед развертыванием в продакшн.

Сначала выполните команду hyde build.

php hyde build
Войдите в полноэкранный режим Выйдите из полноэкранного режима

Затем, поскольку этот проект использует Laravel Mix для компиляции стилей фронтенда, мы выполним команду prod для этого.

npm run prod
Войти в полноэкранный режим Выход из полноэкранного режима

Теперь я открою сайт в Chrome.

start chrome file://H:/DocsCI/_site/index.html
Войти в полноэкранный режим Выйти из полноэкранного режима

И осмотрюсь. Сразу же я вижу, что полоса прокрутки теперь темная, что является новым дополнением. И все типы страниц выглядят нормально.

Завершение работы

Итак, я доволен результатом обновления, так что пойду дальше и отправлю изменения в репозиторий DocsCI! Через минуту-другую обновленный сайт будет развернут на HydePHP.com, поэтому я быстро взгляну на него, чтобы убедиться, что развертывание прошло гладко.

Пожалуйста, поделитесь со мной любыми своими отзывами на этот пост, я буду рад их услышать! У вас есть вопросы? Идеи о том, как улучшить этот рабочий процесс? Дайте мне знать!

Оцените статью
Procodings.ru
Добавить комментарий