Mount the source volume rather than copy it

Now that the build script cleans up both before and after building, this
is a viable option and will significant reduce build times by promoting
container reuse (with `-k`).
This commit is contained in:
Joshua M. Boniface 2020-03-23 15:44:23 -04:00
parent 3e7a106a95
commit 8b1a76a32e
7 changed files with 8 additions and 26 deletions

View File

@ -16,7 +16,7 @@ usage() {
echo -e " * docker: Build using the build script in a standardized Docker container"
echo -e " * PLATFORM can be any platform shown by -l/--list-platforms and must be specified"
echo -e " * If -k/--keep-artifacts is specified, transient artifacts (e.g. Docker containers) will be"
echo -e " retained after the build is finished"
echo -e " retained after the build is finished; the source directory will still be cleaned"
echo -e " * If -l/--list-platforms is specified, all other arguments are ignored; the script will print"
echo -e " the list of supported platforms and exit"
}
@ -59,7 +59,7 @@ do_build_docker() {
docker build . -t "jellyfin-builder.${PLATFORM}" -f deployment/Dockerfile.${PLATFORM}
mkdir -p ${ARTIFACT_DIR}
docker run $docker_args -v "${ARTIFACT_DIR}:/dist" "jellyfin-builder.${PLATFORM}"
docker run $docker_args -v "${SOURCE_DIR}:/jellyfin" -v "${ARTIFACT_DIR}:/dist" "jellyfin-builder.${PLATFORM}"
}
while [[ $# -gt 0 ]]; do

View File

@ -24,11 +24,8 @@ RUN wget https://download.visualstudio.microsoft.com/download/pr/d731f991-8e68-4
# Link to build script
RUN ln -sf ${SOURCE_DIR}/deployment/build.debian.amd64 /build.sh
# Create the source dir
RUN mkdir -p ${SOURCE_DIR}
VOLUME ${SOURCE_DIR}/
VOLUME ${ARTIFACT_DIR}/
COPY . ${SOURCE_DIR}/
ENTRYPOINT ["/build.sh"]

View File

@ -32,11 +32,8 @@ RUN dpkg --add-architecture arm64 \
# Link to build script
RUN ln -sf ${SOURCE_DIR}/deployment/build.debian.arm64 /build.sh
# Create the source dir
RUN mkdir -p ${SOURCE_DIR}
VOLUME ${SOURCE_DIR}/
VOLUME ${ARTIFACT_DIR}/
COPY . ${SOURCE_DIR}/
ENTRYPOINT ["/build.sh"]

View File

@ -32,11 +32,8 @@ RUN dpkg --add-architecture armhf \
# Link to build script
RUN ln -sf ${SOURCE_DIR}/deployment/build.debian.armhf /build.sh
# Create the source dir
RUN mkdir -p ${SOURCE_DIR}
VOLUME ${SOURCE_DIR}/
VOLUME ${ARTIFACT_DIR}/
COPY . ${SOURCE_DIR}/
ENTRYPOINT ["/build.sh"]

View File

@ -24,11 +24,8 @@ RUN wget https://download.visualstudio.microsoft.com/download/pr/d731f991-8e68-4
# Link to build script
RUN ln -sf ${SOURCE_DIR}/deployment/build.ubuntu.amd64 /build.sh
# Create the source dir
RUN mkdir -p ${SOURCE_DIR}
VOLUME ${SOURCE_DIR}/
VOLUME ${ARTIFACT_DIR}/
COPY . ${SOURCE_DIR}/
ENTRYPOINT ["/build.sh"]

View File

@ -43,11 +43,8 @@ RUN rm /etc/apt/sources.list \
# Link to build script
RUN ln -sf ${SOURCE_DIR}/deployment/build.ubuntu.arm64 /build.sh
# Create the source dir
RUN mkdir -p ${SOURCE_DIR}
VOLUME ${SOURCE_DIR}/
VOLUME ${ARTIFACT_DIR}/
COPY . ${SOURCE_DIR}/
ENTRYPOINT ["/build.sh"]

View File

@ -43,11 +43,8 @@ RUN rm /etc/apt/sources.list \
# Link to build script
RUN ln -sf ${SOURCE_DIR}/deployment/build.debian.armhf /build.sh
# Create the source dir
RUN mkdir -p ${SOURCE_DIR}
VOLUME ${SOURCE_DIR}/
VOLUME ${ARTIFACT_DIR}/
COPY . ${SOURCE_DIR}/
ENTRYPOINT ["/build.sh"]