You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
2.4 KiB
65 lines
2.4 KiB
#!/bin/bash
|
|
# Note: this is managed by Ansible, as deploy-sh.j2
|
|
# Don't modify this file.
|
|
GITHUB_SHA=$1
|
|
UNLOCK=$2
|
|
WORKDIR=${TMPDIR-/tmp} # keep all random files here
|
|
export TPASS={{ surveytooldeploy.password }} # from surveytooldeploy.password
|
|
export TUSER=surveytooldeploy # fixed for now
|
|
|
|
dogit() {
|
|
rm -f ${WORKDIR}/git-list.txt
|
|
if [[ ${GITHUB_SHA} = "master" ]];
|
|
then
|
|
echo "changing 'master' to 'origin/master' to get the latest"
|
|
GITHUB_SHA=origin/master
|
|
fi
|
|
git fetch -p || exit 1
|
|
git clean -f -d || echo 'warning: err on cleanup'
|
|
# what are we deploying?
|
|
|
|
echo "cldr-trunk was at :" $(git rev-parse --short HEAD)
|
|
echo -n "you want to move to:"
|
|
git rev-parse --short "${GITHUB_SHA}" || exit 1 # fail on err
|
|
if [[ $(git rev-parse --short HEAD) = $(git rev-parse --short "${GITHUB_SHA}") ]];
|
|
then
|
|
echo "No checkout needed. Continuing with redeploy."
|
|
else
|
|
echo "Deploy will include these new items:"
|
|
echo "---"
|
|
(git log --oneline HEAD..${GITHUB_SHA} | tee ${WORKDIR}/git-list.txt) || exit 1
|
|
echo "---"
|
|
if [[ ! -s ${WORKDIR}/git-list.txt ]]; # if empty..
|
|
then
|
|
echo "Note, ${GITHUB_SHA} is not ahead of HEAD" $(git rev-parse --short HEAD)
|
|
echo "Checking for items that would be REVERTED if we proceed:"
|
|
echo "---"
|
|
git log --oneline ${GITHUB_SHA}..HEAD
|
|
echo "---"
|
|
if [[ "${UNLOCK}" = "--override" ]];
|
|
then
|
|
echo ".. continuing anyway! due to " "${UNLOCK}"
|
|
else
|
|
echo "STOP. Check the override box if you really want to do this"
|
|
exit 1
|
|
fi
|
|
fi
|
|
git checkout -f ${GITHUB_SHA}
|
|
echo "HEAD is now at" $(git rev-parse --short HEAD) "!"
|
|
fi
|
|
}
|
|
|
|
# Check git first, before undeploying. Want to exit early
|
|
(cd /var/lib/tomcat8/cldr/cldr-trunk/ && dogit ) || exit 1
|
|
# undeploy old ST
|
|
curl -u ${TUSER}:${TPASS} 'http://localhost:8080/manager/text/undeploy?path=/cldr-apps'
|
|
# reset last deploy status
|
|
rm -fv ${WORKDIR}/cldr-apps.war ${WORKDIR}/deploystatus
|
|
# copy cldr-apps.war from action runner to server
|
|
dd bs=1024000 status=progress of=${WORKDIR}/cldr-apps.war
|
|
# this counts the # of files to make sure it's not too short, but also verifies that unzip is OK
|
|
echo ; echo -n 'Unzip check, # of files in cldr-apps.war: '
|
|
(unzip -l ${WORKDIR}/cldr-apps.war | wc -l ) || exit 1
|
|
# Now, do the deployment!
|
|
curl -q -u ${TUSER}:${TPASS} 'http://localhost:8080/manager/text/deploy?path=/cldr-apps&tag=cldr-apps&update=true' -T ${WORKDIR}/cldr-apps.war | tee ${WORKDIR}/deploystatus
|