version: 7.4.4
(from https://apt.octopus.com)
host: debian stretch
(docker container)
If DOTNET_BUNDLE_EXTRACT_BASE_DIR
is not set, any cli use in a container with a non-existent --user|-u
exits 159. But simply adding an env --env|-e
resolves. Why doesn’t octo
do this using sane defaults?
Suppose my org uses octopus deploy and I work in js and python, and use octo
to typical pkg operations. Should I really have any care what dotnet is or the purpose of this env var?
steps to repro:
FROM buildpack-deps:stretch
RUN apt update apt install -y --no-install-recommends gnupg curl ca-certificates apt-transport-https \
&& curl -sSfL https://apt.octopus.com/public.key | apt-key add - \
&& sh -c "echo deb https://apt.octopus.com stable main > /etc/apt/sources.list.d/octopus.com.list" \
&& apt update && apt install -y octopuscli=7.4.4
$ docker build -t wat .
$ docker run --rm -it wat octo --version
7.4.4
$ docker run --rm -it -u 87654 wat octo --version
Failure processing application bundle.
Failed to determine location for extracting embedded files
DOTNET_BUNDLE_EXTRACT_BASE_DIR is not set, and a read-write temp-directory couldn't be created.
A fatal error was encountered. Could not extract contents of the bundle
$ docker run --rm -it -u 87654 -e DOTNET_BUNDLE_EXTRACT_BASE_DIR=/tmp wat octo --version
7.4.4