add circleCI config

main
Evan Hemsley 2019-09-15 12:03:50 -07:00
parent fbba3c2052
commit 09d6b1bbc6
1 changed files with 45 additions and 0 deletions

45
.circleci/config.yml Normal file
View File

@ -0,0 +1,45 @@
version: 2
jobs:
build:
docker:
- image: cibuilds/hugo:0.57
working_directory: ~/project
environment:
BRANCH: master
TARGET_REPO: MoonsideGames/
steps:
- checkout
- run:
name: "Run Hugo"
command: HUGO_ENV=production hugo -v -s ~/project/src
- deploy:
command: |
if [ "${CIRCLE_BRANCH}" = "master" ]; then
echo -e "Starting to deploy to Github Pages\n"
mkdir ~/repo
cd ~/repo
git config --global user.email "builds@circleci.com"
git config --global user.name "CircleCI"
#using token clone gh-pages branch
git clone --quiet --branch=$CIRCLE_BRANCH https://${GH_TOKEN}@github.com/$TARGET_REPO built_website > /dev/null
# Installing rsync
echo "Installing rsync"
sudo apt-get -y install rsync
#go into directory and copy data we're interested in to that directory
cd built_website
echo "rsync built code with checked out code..."
rsync -r --exclude=.git --delete ~/project/src/build ~/repo
#add, commit and push files
echo "add files to git..."
git add -f .
echo "commit files to git repository..."
if git commit -m "CircleCI build $CIRCLE_BUILD_NUM pushed to Github Pages" ; then
echo "git push files with force..."
git push -fq origin $BRANCH > /dev/null
echo -e "Deploy completed\n"
else
echo "Content not changed, nothing to deploy"
fi
else
echo "Not master branch, dry run only"
fi