Current section

Files

Jump to
mix_deploy priv templates extract-release.eex
Raw

priv/templates/extract-release.eex

#!/bin/sh
# Extract release from tar to target current dir
set -e
# Environment vars
# DESTDIR, prefix for target files, optional
# Config vars
CURRENT_DIR="${CURRENT_DIR:-"<%= current_dir %>"}"
RELEASE_NAME="${RELEASE_NAME:-"<%= release_name %>"}"
DEPLOY_USER="${DEPLOY_USER:-"<%= deploy_user %>"}"
APP_GROUP="${APP_USER:-"<%= app_group %>"}"
CURDIR="$PWD"
BINDIR=$(dirname "$0")
cd "$BINDIR"; BINDIR="$PWD"; cd "$CURDIR"
TARGET_DIR="${DESTDIR}${CURRENT_DIR}"
TAR_FILE="${BINDIR}/../${RELEASE_NAME}.tar.gz"
echo "==> Removing previous release $TARGET_DIR"
rm -rf "$TARGET_DIR"
echo "==> Extracting release from tar file $TAR_FILE"
mkdir -p "$TARGET_DIR"
tar -C "$TARGET_DIR" -xzf "$TAR_FILE"
chown -R "${DEPLOY_USER}:${APP_GROUP}" "${TARGET_DIR}"