Current section
Files
Jump to
Current section
Files
priv/templates/rollback.eex
#!/bin/sh
# Rollback release to previous
# Local deploy
set -e
# Environment vars
# DESTDIR, prefix for target files, optional
# Config vars
DEPLOY_DIR="<%= deploy_dir %>"
RELEASES_DIR="${DESTDIR}${DEPLOY_DIR}/releases"
CURRENT_LINK="${DESTDIR}${DEPLOY_DIR}/current"
# TODO: error handling
PREV_DIR=$(find "${RELEASES_DIR}" -maxdepth 1 | sort | tail -2 | head -1)
PREV_NAME=$(basename "${PREV_DIR}")
RELEASE="${RELEASE:-$PREV_NAME}"
echo "==> Rolling back to release $RELEASE"
if [[ -L "$CURRENT_LINK" ]]; then
rm "$CURRENT_LINK"
fi
ln -s "${RELEASES_DIR}/${PREV_NAME}" "$CURRENT_LINK"