From fd28bf53dec9a54dd0f251b36d1a49018a161334 Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Tue, 5 Oct 2021 12:21:29 -0400 Subject: [PATCH 1/2] fix: move custom dockerfiles into place during the core-post-extract phase Closes #4830 --- plugins/builder-dockerfile/builder-build | 11 ------- plugins/builder-dockerfile/core-post-extract | 31 ++++++++++++++++++++ 2 files changed, 31 insertions(+), 11 deletions(-) create mode 100755 plugins/builder-dockerfile/core-post-extract diff --git a/plugins/builder-dockerfile/builder-build b/plugins/builder-dockerfile/builder-build index 29ec7a5a3..131cecefb 100755 --- a/plugins/builder-dockerfile/builder-build +++ b/plugins/builder-dockerfile/builder-build @@ -21,17 +21,6 @@ trigger-builder-dockerfile-builder-build() { pushd "$SOURCECODE_WORK_DIR" &>/dev/null - local NEW_DOCKERFILE="$(fn-builder-dockerfile-computed-dockerfile-path "$APP")" - if [[ -n "$NEW_DOCKERFILE" ]]; then - if [[ ! -f "$NEW_DOCKERFILE" ]]; then - dokku_log_fail "Invalid dockerfile-path specified: $NEW_DOCKERFILE" - fi - - if [[ "$NEW_DOCKERFILE" != "Dockerfile" ]]; then - mv "$NEW_DOCKERFILE" Dockerfile - fi - fi - # extract first port from Dockerfile suppress_output dos2unix Dockerfile local DOCKERFILE_PORTS=$(get_dockerfile_exposed_ports Dockerfile) diff --git a/plugins/builder-dockerfile/core-post-extract b/plugins/builder-dockerfile/core-post-extract new file mode 100755 index 000000000..16625f35f --- /dev/null +++ b/plugins/builder-dockerfile/core-post-extract @@ -0,0 +1,31 @@ +#!/usr/bin/env bash +source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions" +source "$PLUGIN_AVAILABLE_PATH/builder-dockerfile/internal-functions" +set -eo pipefail +[[ $DOKKU_TRACE ]] && set -x + +trigger-builder-dockerfile-core-post-extract() { + declare desc="builder-dockerfile post-extract plugin trigger" + declare trigger="post-extract" + declare APP="$1" SOURCECODE_WORK_DIR="$2" + local NEW_DOCKERFILE="$(fn-builder-dockerfile-computed-dockerfile-path "$APP")" + + pushd "$TMP_WORK_DIR" >/dev/null + + if [[ -z "$NEW_DOCKERFILE" ]]; then + return + fi + + if [[ ! -f "$NEW_DOCKERFILE" ]]; then + dokku_log_fail "Invalid dockerfile-path specified: $NEW_DOCKERFILE" + rm -f Dockerfile + return + fi + + if [[ "$NEW_DOCKERFILE" != "Dockerfile" ]]; then + mv "$NEW_DOCKERFILE" Dockerfile + fi + popd &>/dev/null +} + +trigger-builder-dockerfile-core-post-extract "$@" From 51c5c58354c251c5176415a0c72bb8e820b8503d Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Wed, 6 Oct 2021 02:03:39 -0400 Subject: [PATCH 2/2] fix: do not attempt to move the Dockerfile if it is the default path Also drop the unnecessary rm call --- plugins/builder-dockerfile/core-post-extract | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/plugins/builder-dockerfile/core-post-extract b/plugins/builder-dockerfile/core-post-extract index 16625f35f..c25d64b63 100755 --- a/plugins/builder-dockerfile/core-post-extract +++ b/plugins/builder-dockerfile/core-post-extract @@ -16,15 +16,16 @@ trigger-builder-dockerfile-core-post-extract() { return fi - if [[ ! -f "$NEW_DOCKERFILE" ]]; then - dokku_log_fail "Invalid dockerfile-path specified: $NEW_DOCKERFILE" - rm -f Dockerfile + if [[ "$NEW_DOCKERFILE" == "Dockerfile" ]]; then return fi - if [[ "$NEW_DOCKERFILE" != "Dockerfile" ]]; then - mv "$NEW_DOCKERFILE" Dockerfile + if [[ ! -f "$NEW_DOCKERFILE" ]]; then + dokku_log_fail "Invalid dockerfile-path specified: $NEW_DOCKERFILE" + return fi + + mv "$NEW_DOCKERFILE" Dockerfile popd &>/dev/null }