docker-deploy/deploy.sh

42 lines
1.1 KiB
Bash
Executable File

#/usr/bin/env bash
set -e
# Check if the source server variable has already been set externally
if [ -z "${DEPLOY_SOURCE}" ]; then
# Check for the source server (with default)
DEPLOY_SOURCE_FILE="${HOME}/.deploy_source"
DEPLOY_SOURCE="https://git.bjphoster.com/deployments"
if [ -f "${DEPLOY_SOURCE_FILE}" ]; then
. "${DEPLOY_SOURCE_FILE}"
fi
fi
# Check if the deploy position variable has already been set externally
if [ -z "${DEPLOY_DESTINATION}" ]; then
# Check for the deploy position (with default)
DEPLOY_DESTINATION_FILE="${HOME}/.deploy_destination"
DEPLOY_DESTINATION="/opt"
if [ -f "${DEPLOY_DESTINATION_FILE}" ]; then
. "${DEPLOY_DESTINATION_FILE}"
fi
fi
# Check if the correct usage is respected
if [ $# -lt 2 ]; then
echo "Usage: $0 <service> <service name> [branch/tag]"
echo
echo "Current settings:"
echo "- \$DEPLOY_SOURCE · ${DEPLOY_SOURCE}"
echo "- \$DEPLOY_DESTINATION · ${DEPLOY_DESTINATION}"
exit
fi
echo "deploying ..."
git clone "${DEPLOY_SOURCE}/${1}" "${DEPLOY_DESTINATION}/${2}"
if [ $# -eq 3 ]; then
pushd "${DEPLOY_DESTINATION}/${2}"
git checkout "${3}"
popd
fi