forked from barryclark/jekyll-now
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Improve deploy script (addresses barryclark#6)
- Loading branch information
1 parent
3277b4e
commit a47b1ac
Showing
1 changed file
with
62 additions
and
15 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,35 +1,82 @@ | ||
#!/usr/bin/env sh | ||
#!/usr/bin/env bash | ||
|
||
# Run this script to deploy the app to Github Pages. | ||
# Run this script to deploy the app to Github Pages | ||
|
||
# Exit if any subcommand fails. | ||
# Parse cmd arguments | ||
|
||
SRC_BRANCH="master" | ||
DEPLOY_BRANCH="gh-pages" | ||
|
||
USAGE_MSG="usage: deploy [-h|--help] [-u|--user] [-s|--src SRC_BRANCH] [-d|--deploy DEPLOY_BRANCH]" | ||
|
||
while [[ $# > 0 ]]; do | ||
key="$1" | ||
|
||
case $key in | ||
-h|--help) | ||
echo $USAGE_MSG | ||
exit 0 | ||
;; | ||
-u|--user) | ||
SRC_BRANCH="source" | ||
DEPLOY_BRANCH="master" | ||
shift | ||
;; | ||
-s|--src) | ||
SRC_BRANCH="$2" | ||
shift | ||
;; | ||
-d|--deploy) | ||
DEPLOY_BRANCH="$2" | ||
shift | ||
;; | ||
*) | ||
echo "Option $1 is unknown." | ||
echo $USAGE_MSG | ||
exit 0 | ||
;; | ||
esac | ||
shift | ||
done | ||
|
||
# Exit if any subcommand fails | ||
set -e | ||
|
||
echo "Started deploying" | ||
echo "Deploying..." | ||
echo "Source branch: $SRC_BRANCH" | ||
echo "Deploy branch: $DEPLOY_BRANCH" | ||
|
||
# Switch to source branch (creates it if necessary from the current branch) | ||
if [ `git branch | grep $SRC_BRANCH | tr ' ' '\n' | tail -1` ] | ||
then | ||
git checkout $SRC_BRANCH | ||
else | ||
git checkout -b $SRC_BRANCH | ||
fi | ||
|
||
# Checkout gh-pages branch. | ||
if [ `git branch | grep gh-pages` ] | ||
# Checkout DEPLOY_BRANCH branch | ||
if [ `git branch | grep $DEPLOY_BRANCH` ] | ||
then | ||
git branch -D gh-pages | ||
git branch -D $DEPLOY_BRANCH | ||
fi | ||
git checkout -b gh-pages | ||
git checkout -b $DEPLOY_BRANCH | ||
|
||
# Build site. | ||
# Build site | ||
bundle exec jekyll build | ||
|
||
# Delete and move files. | ||
# Delete and move files | ||
find . -maxdepth 1 ! -name '_site' ! -name '.git' ! -name '.gitignore' -exec rm -rf {} \; | ||
mv _site/* . | ||
rm -R _site/ | ||
|
||
# Push to gh-pages. | ||
# Push to DEPLOY_BRANCH | ||
git add -fA | ||
git commit --allow-empty -m "$(git log -1 --pretty=%B) [ci skip]" | ||
git push -f -q origin gh-pages | ||
git push -f -q origin $DEPLOY_BRANCH | ||
|
||
# Move back to previous branch. | ||
git checkout - | ||
# Move back to SRC_BRANCH | ||
git checkout $SRC_BRANCH | ||
|
||
echo "Deployed Successfully!" | ||
echo "Deployed successfully!" | ||
|
||
exit 0 |