Auto-Deploying Blogs to GitHub Pages with Travis CI
GitHub Pages doesn't support
jekyll-archives now PR. We can use Travis CI to build it and push to
There is already some gists talks about this topic using bash. However, Travis now support
.travis.yml , which is super easy to set up. (Deploying to GitHub Pages is experimental now [2018.07.25])
Here is an example.
language: ruby cache: bundler sudo: false rvm: 2.5 install: - gem install bundler - bundle install script: - bundle exec jekyll build after_success: - touch ./_site/.nojekyll deploy: provider: pages skip-cleanup: true keep-history: true on: branch: master github-token: $GITHUB_TOKEN local-dir: _site committer-from-gh: true
For the details about
deploy , check Travis docs .
For now, you have already done most of the work.
Set GitHub Token
To push files to your
repo@gh-pages , Travis needs your authority. This means you need to offer a personal GitHub token.
You can choose to set this in
travis-ci.org/repo/settings as an environment variable or pass it to
.travis.yml as an encrypted variable.
Create GitHub Tokens
Travis Environment Variable
This can be set in your repo's travis page,
More options -> settings , or just add
/settings to the URL.
The variable name should be the same with
Details can be found in Travis Docs .
Deploying is triggered depending on your repo's travis settings.