GitHub Pages Deployment

Travis CI can deploy your static files to GitHub Pages after a successful build.

You will need to provide a personal access token and set the deployment provider details in .travis.yml.

For a minimal configuration, add the following to your .travis.yml:

  provider: pages
  skip_cleanup: true
  github_token: $GITHUB_TOKEN # Set in dashboard
    branch: master

Make sure you have skip_cleanup set to true, otherwise Travis CI will delete all the files created during the build, which will probably delete what you are trying to upload.

Setting the GitHub token

You’ll need to generate a personal access token with the public_repo or repo scope (repo is required for private repositories). Since the token should be private, you’ll want to pass it to Travis securely in your repository settings or via encrypted variables in .travis.yml.

Further configuration

  • local_dir: Directory to push to GitHub Pages, defaults to the current directory
  • repo: Repo slug, defaults to current repo
  • target_branch: Branch to push force to, defaults to gh-pages
  • fqdn: Optional, sets a custom domain for your website, defaults to no custom domain support.
  • project_name: Defaults to value of fqdn or repo slug, used for metadata
  • email: Optional, comitter info, defaults to
  • name: Optional, comitter, defaults to Deployment Bot