Skip to content

Instantly share code, notes, and snippets.

@clintonhalpin
Last active October 9, 2015 16:08
Show Gist options
  • Save clintonhalpin/7d9a685d0116c08104c8 to your computer and use it in GitHub Desktop.
Save clintonhalpin/7d9a685d0116c08104c8 to your computer and use it in GitHub Desktop.
Setup Travis CI for open source projects!

Auto deploy built products!

Mostly forked from - https://gist.github.com/domenic/ec8b0fc8ab45f39403dd but there are some other things in here

Create a deploy script

In the root of your project, create a deploy script. I decided to place mine in ./bin/deploy.sh but you could put in any where

deploy.sh

#!/bin/bash
set -e

# clear and re-create the out directory
rm -rf dist || exit 0;
mkdir dist;

# build
npm run build
cp CNAME dist/CNAME

# deploy
# go to the out directory and create a *new* Git repo
cd dist
git init

# inside this git repo we'll pretend to be a new user
git config user.name "Travis CI"
git config user.email "{{ YOUR GIT EMAIL OR YOUR BOT EMAIL! }}"

# The first and only commit to this new Git repo contains all the
# files present with the commit message "Deploy to GitHub Pages".
git add .
git commit -m "Deploy to GitHub Pages"

# Force push from the current repo's master branch to the remote
# repo's gh-pages branch. (All previous history on the gh-pages branch
# will be lost, since we are overwriting it.) We redirect any output to
# /dev/null to hide any sensitive credential data that might otherwise be exposed.
git push --force --quiet "https://${GH_TOKEN}@${GH_REF}" master:gh-pages > /dev/null 2>&1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment