Skip to content

Instantly share code, notes, and snippets.

@PhilippeRoy
Forked from fesor/script
Last active August 6, 2019 04:11
Show Gist options
  • Save PhilippeRoy/59d3e2b272c3f0ca82044bbb04bf9439 to your computer and use it in GitHub Desktop.
Save PhilippeRoy/59d3e2b272c3f0ca82044bbb04bf9439 to your computer and use it in GitHub Desktop.
Jenkins: script for checking is directory has changed from last build
#!/bin/bash
DIR_PATH=$1
GIT_PREVIOUS_COMMIT=$(git rev-parse --short "HEAD^")
GIT_COMMIT=$(git rev-parse --short HEAD)
if [ ! -d "$DIR_PATH" ]; then
echo "Directory '$DIR_PATH' not exists"
exit 1
fi
if [ -z "$GIT_COMMIT" ]; then
echo "No current commit... fail"
exit 1
fi
if [ -z "$GIT_PREVIOUS_COMMIT" ]; then
echo "No previous commit, files are changed!"
exit 0
fi
# Check is files in given directory changed between commits
# NOTE: $GIT_PREVIOUS_COMMIT and $GIT_COMMIT provided by Jenkins GIT Plugin
CHANGED=`git diff --name-only $GIT_PREVIOUS_COMMIT $GIT_COMMIT $DIR_PATH`
if [ -z "$CHANGED" ]; then
echo "No changes dettected..."
exit 1
else
echo "Directory changed"
exit 0
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment