|
|
- #!/bin/bash
- #######################################################################################################
- # Compile and Publish Pelican website
- #######################################################################################################
- GIT="/home/git/deploy/your_repo_name/.git/" # Location of .git file in the source clone like /foo/bar/.git
- GITWT="/home/git/deploy/your_repo_name/" # Location of the working tree like /foo/bar
- pelicanRepo="/home/git/deploy/your_repo_name/" # Location of the pelican's content directory
- pelicanBranch="master" # Name of the git branch that trigger the publication
-
- while read oldrev newrev refname
- do
- branch=$(git rev-parse --symbolic --abbrev-ref $refname)
- if [ "$branch" = "${pelicanBranch}" ]; then
- echo "Let's go publish Pelican!"
- echo "##########################################################################"
- echo "First step: update content through git"
- ## Get the content with git
- cd ${pelicanRepo}
- git --git-dir=$GIT --work-tree=$GITWT checkout ${pelicanBranch}
- git --git-dir=$GIT --work-tree=$GITWT fetch --all
- git --git-dir=$GIT --work-tree=$GITWT reset --hard origin/${pelicanBranch}
- git --git-dir=$GIT --work-tree=$GITWT clean -f -d
- echo "##########################################################################"
- echo "Second step: publish Pelican content"
- echo "we use make rsync_upload so be careful to have configure your Makefile accordingly"
- ## Compile the content
- make rsync_upload
- echo "##########################################################################"
- echo "done"
- fi
- done
-
- exit 0
|