From 3985fdcca4f0e60b4c89a5d97b91042adc2ace9d Mon Sep 17 00:00:00 2001 From: Jose Diaz-Gonzalez Date: Sun, 9 Mar 2025 07:23:21 -0400 Subject: [PATCH] feat: allow --volume flags to be passed to pack at buildtime Closes #7119 --- plugins/builder-pack/builder-build | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/plugins/builder-pack/builder-build b/plugins/builder-pack/builder-build index fee85cc65..5557a0d4e 100755 --- a/plugins/builder-pack/builder-build +++ b/plugins/builder-pack/builder-build @@ -37,7 +37,35 @@ trigger-builder-pack-builder-build() { fi plugn trigger pre-build "$BUILDER_TYPE" "$APP" "$SOURCECODE_WORK_DIR" - pack build "$IMAGE" --builder "$DOKKU_CNB_BUILDER" --path "$SOURCECODE_WORK_DIR" --default-process web "${ENV_ARGS[@]}" + local DOCKER_ARGS=$(: | plugn trigger docker-args-build "$APP" "$BUILDER_TYPE") + [[ "$DOKKU_TRACE" ]] && DOCKER_ARGS+=" --env=TRACE=true " + DOCKER_ARGS+=$(: | plugn trigger docker-args-process-build "$APP" "$BUILDER_TYPE") + + DOCKER_ARGS=" $DOCKER_ARGS " + declare -a ARG_ARRAY + eval "ARG_ARRAY=($DOCKER_ARGS)" + + eval set -- "$DOCKER_ARGS" + + declare -a PACK_ARGS + while true; do + case "$1" in + --volume=* | -v=*) + PACK_ARGS+=("$1") + shift + ;; + --volume | -v) + PACK_ARGS+=("--volume") + PACK_ARGS+=("$2") + shift 2 + ;; + *) + break + ;; + esac + done + + pack build "$IMAGE" --builder "$DOKKU_CNB_BUILDER" --path "$SOURCECODE_WORK_DIR" --default-process web "${PACK_ARGS[@]}" "${ENV_ARGS[@]}" docker-image-labeler relabel --label=dokku --label=org.label-schema.schema-version=1.0 --label=org.label-schema.vendor=dokku --label=com.dokku.image-stage=build --label=com.dokku.builder-type=pack --label=com.dokku.app-name=$APP "$IMAGE" # ensure we have a port mapping