feat: allow --volume flags to be passed to pack at buildtime

Closes #7119
This commit is contained in:
Jose Diaz-Gonzalez
2025-03-09 07:23:21 -04:00
parent c7f35eb8a2
commit 3985fdcca4

View File

@@ -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