В этом туториале мы используем Travis CI для деплоя в Github Pages. Travis CI бесплатен для репозиториев с открытым исходным кодом, то есть ветка master
вашего репозитория должна быть публичной. Пожалуйста, перейдите в описание Приватного репозитория, если вы предпочитаете не открывать свой исходный код, либо откажитесь от загрузки своих файлов на GitHub.
Создайте репозиторий с названием username.github.io, где
username
— ваше имя пользователя GitHub. Если вы уже загрузили файлы в репозиторий с другим названием, просто переименуйте его.Запушьте файлы вашей папки Hexo в этот репозиторий. Папка
public/
не должна загружаться по умолчанию, проверьте, что файл.gitignore
содержит строкуpublic/
. Структура папки должна быть такой же, как в этом репозитории, без файла.gitmodules
.Добавьте Travis CI в свой аккаунт.
Зайдите на страницу Настроек приложения, сконфигурируйте Travis CI, чтобы оно имело доступ к репозиторию.
Вас перенаправят на страницу Travis.
В новой вкладке сгенерируйте новый токен с областью видимости repo. Запишите значение токена.
На странице Travis зайдите в настройки репозитория. В поле Environment Variables, вставьте GH_TOKEN в качестве имени и токен в качестве значения. Нажмите
Add
для сохранения.Добавьте файл
.travis.yml
в свой репозиторий (рядом с _config.yml & package.json) со следующим контентом:sudo: false
language: node_js
node_js:
- 10 # use nodejs v10 LTS
cache: npm
branches:
only:
- master # build master branch only
script:
- hexo generate # generate static files
deploy:
provider: pages
skip-cleanup: true
github-token: $GH_TOKEN
keep-history: true
on:
branch: master
local-dir: publicКак только Travis CI завершит деплой, сгенерированные страницы появятся в ветке
gh-pages
вашего репо.В настройках своего репозитория GitHub перейдите в раздел “GitHub Pages” и измените
Source
на ветку gh-pages.Проверьте страницу на username.github.io.
Страница проекта
Если вы препочитаете страницу проекта на GitHub:
- Перейдите на страницу своего репо на GitHub. Откройте таб Settings. Измените Repository name, чтобы ваш блог был доступен на username.github.io/repository, repository может быть любым словом, как blog или hexo.
- Редактируйте файл _config.yml, изменив значение
root:
на/<repository>/
(должно начинаться и заканчиваться косой чертой). - Закоммитьте и запушьте.
Приватный репозиторий
Это инстуркция только для приватных репозиториев.
Создайте репозиторий с названием username.github.io, где
username
— ваше имя пользователя GitHub. Если вы уже загрузили файлы в репозиторий с другим названием, просто переименуйте его. (Перейдите к шагу 3, если предпочитаете на загружать свои файлы на GitHub)Запушьте файлы вашей папки Hexo в этот репозиторий. Папка
public/
не должна загружаться по умолчанию, проверьте, что файл.gitignore
содержит строкуpublic/
. Структура папки должна быть такой же, как в этом репозитории, без файла.gitmodules
.Запустите команду
hexo generate
и скопируйте папкуpublic/
куда-то ещё (на своеё рабочей машине).Создайте новую ветку
gh-pages
в вашей папке Hexo, Мы рекомендуем создание ветки-“сироты” (чтобы создать новую ветку без истории коммитов):$ git checkout --orphan gh-pages
Удалите всё, включая скрытые файлы, кроме папки
.git/
. Не волнуйтесь, эти файлы всё ещё находятся в ветке master.Переместите содержимое папки
public/
обратно.Закоммитьте и запушьте ветку gh-pages.
$ git add .
$ git commit -a -m "Initial commit"
$ git push origin gh-pagesВ настройках своего репозитория GitHub перейдите в раздел “GitHub Pages” и измените
Source
на ветку gh-pages.Проверьте страницу на username.github.io.
Перейдите обратно в папку своего исходного кода,
$ git checkout master