Skip to content

Процесс деплоя

Anton Angelgardt edited this page Oct 18, 2024 · 6 revisions

Структура директории deploy

  • run.sh — корневой скрипт деплоя
  • modules — скрипты, отвечающие за рендеринг (_render.sh), деплой (_deploy.sh) или релиз (_release.sh), а также цветовое оформление консольных аутпутов (_set-colors.sh)
  • backup — бэкап предыдущего деплоя
  • logs — файлы логов рендеринга, деплоя и релиза
  • README.md — файл с краткой инструкцией

Структура директории docs

GitHub Pages строит сайт из директории docs, однако чтобы до релиза можно было просматривать самую последнюю версия, а также совместно вычитывать материалы, в директории предусмотрена следующая структура:

  • index.html — страница, которая открывается при запросе angelgardt.github.io/wlm-sdarp и содержит перенаправление на angelgardt.github.io/wlm-sdarp/cr, то есть на текущий релиз книги
  • cr — директория, содержащая текущий релиз книги (current release) — отдебаженную и вычитанную версию
  • dpl — директория, содержащая текущий деплой книги — версию, которая подлежит дебагингу и вычитке
  • prev — директория, содержащая предыдущие релизы книги на случай, если в текущий релиз всё же просочится какой-то суровый баг или же читатели после каких-либо больших обновлений захотят читать старую версию

Рендер

В ходе разработки, безусловно, будет запущен локальный сервер для просмотра изменений, а значит многократно будет осуществлен рендер обновлений. Однако при желании есть возможность полностью снести папку book/_book и отрендерить всю книгу заново. Кроме того, рендер по умолчанию обновляет JSON-файлы квизов и листков, что может облегчить жизнь при их дебаге.

Чтобы выполнить рендер, необходимо запустить следующую команду:

deploy/ru.sh render

Что произойдет:

  • будет полностью удалена папка book/_book
  • книга будет полностью отрендерена с нуля
  • в папке logs будет создан лог рендеринга с названием reder_<render-date>_<render-time>.log
    • дата и время вставляются автоматически

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

Деплой

Релиз