Use a custom temporary directory for dokku-related files

Also fix the trap call
This commit is contained in:
Jose Diaz-Gonzalez
2015-08-31 15:17:04 -04:00
parent fa5fe2efd6
commit e08f02aca7

View File

@@ -67,16 +67,18 @@ case "$1" in
pluginhook pre-release-buildstep "$APP"
pluginhook pre-release-buildpack "$APP"
if [[ -n $(config_export global) ]]; then
TMPFILE=$(mktemp $DOKKU_ROOT/$APP/.dokku_config.XXXXXX) || dokku_log_fail "Cannot create temp file using mktemp in /tmp dir"
trap 'rm -rf "$TMPFILE" > /dev/null' RETURN
mkdir -p "$DOKKU_ROOT/$APP/.dokku/tmp"
TMPFILE=$(mktemp $DOKKU_ROOT/$APP/.dokku/tmp/.XXXXXX) || dokku_log_fail "Cannot create temp file using mktemp in /tmp dir"
trap 'rm -rf "$TMPFILE" > /dev/null' INT TERM EXIT
config_export global > $TMPFILE
id=$(docker run -i -a stdin $IMAGE /bin/bash -c "mkdir -p /app/.profile.d && cat > /app/.profile.d/00-global-env.sh" < "$TMPFILE")
test "$(docker wait $id)" -eq 0
docker commit $id $IMAGE > /dev/null
fi
if [[ -n $(config_export app $APP) ]]; then
TMPFILE=$(mktemp $DOKKU_ROOT/$APP/.dokku_config.XXXXXX) || dokku_log_fail "Cannot create temp file using mktemp in /tmp dir"
trap 'rm -rf "$TMPFILE" > /dev/null' RETURN
mkdir -p "$DOKKU_ROOT/$APP/.dokku/tmp"
TMPFILE=$(mktemp $DOKKU_ROOT/$APP/.dokku/tmp/XXXXXX) || dokku_log_fail "Cannot create temp file using mktemp in /tmp dir"
trap 'rm -rf "$TMPFILE" > /dev/null' INT TERM EXIT
config_export app $APP > $TMPFILE
id=$(docker run -i -a stdin $IMAGE /bin/bash -c "mkdir -p /app/.profile.d && cat > /app/.profile.d/01-app-env.sh" < "$TMPFILE")
test "$(docker wait $id)" -eq 0