Публикация результатов верстки на gp-pages

Для студентов продвинутого курса по вёрстке в EpicSkills

Инструкция для студентов про-курса по вёрстке, но может быть применена без модификаций на любом проекте, в котором автоматизация сделана с gulp.

Github-pages — сервис, предоставляемый github.com. Среди прочего, он позволяет организовать бесплатный хостинг статичных файлов (с некоторыми ограничениями).

В вашем репозитории есть разделение на папку исходников (src/) и папку сборки (build/). В последней хранится результат вашей работы, который можно показать заказчику с gh-pages.

Как это работает

Вы запускаете gulp-задачу, которая берет содержимое папки build/ и помещает его в ветку gh-pages, после чего отправляет эту ветку в репозиторий текущего проекта на github.com и через пару минут содержимое ветки можно посмотреть на https://вашНик.github.io/названиеРепозитория/.

Как добавить задачу публикации на gh-pages

Все манипуляции делать с чистым git-статусом, чтобы добавление задачи публикации попало в отдельный коммит.

Шаг 1. Установить пакет для публикации: npm i gh-pages -D.

Шаг 2. В верхней части gulpfile.js добавить подключение пакета gh-pages и модуля path.

const ghPages = require('gh-pages');
const path = require('path');

Шаг 3. Добавить задачу:

function deploy(cb) {
  ghPages.publish(path.join(process.cwd(), './build'), cb);
}
exports.deploy = deploy;

Шаг 4. На странице своего репозитория перейти в «Settings», найти блок «GitHub Pages», скопировать ссылку на gh-pages, вернуться на главную страницу вашего репозитория и добавить ссылку в блок описания репозитория.

Как использовать

npx gulp deploy

В вашем репозитории по команде npm start запускается gulp. Задача не указывается, так что выполнится задача по умолчанию (с именем default). Нужно указать имя задачи: npm start deploy.

После занятия, на котором мы добавляем удобные алиасы, у вас появляется алиас s, запускающий npm start. Если это уже сделано, запуск задачи делается совсем коротко: s deploy.

Между успешной отправкой содержимого ветки gh-pages в ваш репозиторий и реальным появлением её содержимого на GitHub Pages проходит несколько (редко более 1-2) минут.

При любых проблемах в течение курса обратитесь к вашему наставнику или лично ко мне.

Понравилась статья? Ставьте лайк, делитесь в соц. сетях или купите мне кофе.