Skip to content

Instantly share code, notes, and snippets.

@stuwilli
Last active August 29, 2015 14:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save stuwilli/04c0f3f35925e35bbf49 to your computer and use it in GitHub Desktop.
Save stuwilli/04c0f3f35925e35bbf49 to your computer and use it in GitHub Desktop.
Jenkins Post Build Script - Package
#!/bin/bash
WWW_PATH=/srv/www/public
DIST_DIR=./dist
RELEASE_DIR=$WWW_PATH/$JOB_NAME
RELEASE_NAME=$(echo $JOB_NAME | awk '{print tolower($0)}')
if [ ! -d "$RELEASE_DIR" ]; then
mkdir -p $RELEASE_DIR/testing
mkdir -p $RELEASE_DIR/releases
fi
#cd $WORKSPACE
GIT_LAST_TAG=$(git describe --abbrev=0)
GIT_TAG_COMMITS=$(git rev-list HEAD ^$GIT_LAST_TAG | wc -l)
GIT_LAST_TAG_FULL=$(git describe)
if [ $GIT_TAG_COMMITS -eq 0 ]; then
echo "###### This is a release build ######"
mkdir -p /tmp/$JOB_NAME/$GIT_LAST_TAG
cd /tmp/$JOB_NAME
cp -r $WORKSPACE/$DIST_DIR/* /tmp/$JOB_NAME/$GIT_LAST_TAG
tar -pczf /tmp/$RELEASE_NAME-$GIT_LAST_TAG.tar.gz $GIT_LAST_TAG
mv /tmp/$RELEASE_NAME-$GIT_LAST_TAG.tar.gz $RELEASE_DIR/releases
rm -rf /tmp/$JOB_NAME/$GIT_LAST_TAG
else
echo "###### This is a test build ######"
mkdir -p /tmp/$JOB_NAME/$GIT_LAST_TAG_FULL
cd /tmp/$JOB_NAME
cp -r $WORKSPACE/$DIST_DIR/* /tmp/$JOB_NAME/$GIT_LAST_TAG_FULL
tar -pczf /tmp/$RELEASE_NAME-$GIT_LAST_TAG_FULL.tar.gz $GIT_LAST_TAG_FULL
mv /tmp/$RELEASE_NAME-$GIT_LAST_TAG_FULL.tar.gz $RELEASE_DIR/testing
rm -rf /tmp/$JOB_NAME/$GIT_LAST_TAG_FULL
fi
cd $WORKSPACE
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment