From 4f4eb8b26cbd056a9e1fde7c89dcb98ea4524d36 Mon Sep 17 00:00:00 2001 From: Antony Messerli Date: Sun, 26 Jun 2022 11:54:30 -0500 Subject: [PATCH] Consolidate Dockerfiles Uses ARGs for whether to add production overrides or not, by default, it uses the default settings and not the overrides. --- Dockerfile | 26 ++++++++++++++++++++++++++ Dockerfile-build | 17 ----------------- Dockerfile-build.production | 17 ----------------- script/build_release | 10 +++++----- 4 files changed, 31 insertions(+), 39 deletions(-) create mode 100644 Dockerfile delete mode 100644 Dockerfile-build delete mode 100644 Dockerfile-build.production diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..839c83f7 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,26 @@ +ARG NBXYZ_OVERRIDES=default + +FROM ghcr.io/netbootxyz/builder:latest as builder + +# repo for build +COPY . /ansible + +FROM builder AS netbootxyz-default +ENV EXTRA_VARS="" + +FROM builder AS netbootxyz-production +ENV EXTRA_VARS="--extra-vars '@script/netbootxyz-overrides.yml'" + +FROM netbootxyz-${NBXYZ_OVERRIDES} as final +RUN \ + echo "**** running ansible ****" && \ + cd /ansible && \ + ansible-playbook -i inventory site.yml ${EXTRA_VARS} + +# runtime stage +FROM alpine:latest + +COPY --from=final /var/www/html/ /mnt/ +COPY docker-build-root/ / + +ENTRYPOINT [ "/dumper.sh" ] diff --git a/Dockerfile-build b/Dockerfile-build deleted file mode 100644 index 7263e19c..00000000 --- a/Dockerfile-build +++ /dev/null @@ -1,17 +0,0 @@ -FROM ghcr.io/netbootxyz/builder:latest as builder - -# repo for build -COPY . /ansible - -RUN \ - echo "**** running ansible ****" && \ - cd /ansible && \ - ansible-playbook -i inventory site.yml - -# runtime stage -FROM alpine:latest - -COPY --from=builder /var/www/html/ /mnt/ -COPY docker-build-root/ / - -ENTRYPOINT [ "/dumper.sh" ] diff --git a/Dockerfile-build.production b/Dockerfile-build.production deleted file mode 100644 index 0978fb75..00000000 --- a/Dockerfile-build.production +++ /dev/null @@ -1,17 +0,0 @@ -FROM ghcr.io/netbootxyz/builder:latest as builder - -# repo for build -COPY . /ansible - -RUN \ - echo "**** running ansible ****" && \ - cd /ansible && \ - ansible-playbook -i inventory site.yml --extra-vars "@script/netbootxyz-overrides.yml" - -# runtime stage -FROM alpine:latest - -COPY --from=builder /var/www/html/ /mnt/ -COPY docker-build-root/ / - -ENTRYPOINT [ "/dumper.sh" ] diff --git a/script/build_release b/script/build_release index d9b38fd0..dff2e905 100755 --- a/script/build_release +++ b/script/build_release @@ -7,7 +7,7 @@ HARD_RC="2.x-RC" DEV_URL="dev.boot.netboot.xyz" STAGING_URL="staging.boot.netboot.xyz" PROD_URL="boot.netboot.xyz" -DOCKER_FILE="Dockerfile-build.production" +NBXYZ_OVERRIDES=production # Set boot domain if [[ "${TYPE}" == "dev" ]]; then @@ -16,7 +16,7 @@ if [[ "${TYPE}" == "dev" ]]; then elif [[ "${TYPE}" == "pr" ]]; then BOOT_DOMAIN="test.com" BOOT_VERSION="test" - DOCKER_FILE="Dockerfile-build" + NBXYZ_OVERRIDES=default elif [[ "${TYPE}" == "rc" ]]; then BOOT_VERSION=$(cat version.txt)-RC BOOT_DOMAIN="${STAGING_URL}/${BOOT_VERSION}" @@ -38,7 +38,7 @@ if ! [[ "${TYPE}" == "rolling" ]]; then user_overrides.yml # Build release - docker build -t localbuild -f ${DOCKER_FILE} . + docker build -t localbuild --build-arg NBXYZ_OVERRIDES=${NBXYZ_OVERRIDES} . docker run --rm -i -v $(pwd):/buildout localbuild # Generate folder outputs @@ -66,7 +66,7 @@ if [[ "${TYPE}" == "release" ]] || [[ "${TYPE}" == "rolling" ]] || [[ "${TYPE}" -e "/^boot_version/c\boot_version: \"${HARD_RELEASE}\"" \ -e "/^boot_domain/c\boot_domain: ${PROD_URL}" \ user_overrides.yml - docker build -t localbuild -f ${DOCKER_FILE} . + docker build -t localbuild --build-arg NBXYZ_OVERRIDES=${NBXYZ_OVERRIDES} . docker run --rm -i -v $(pwd):/buildout localbuild fi if [[ "${TYPE}" == "rc" ]]; then @@ -74,7 +74,7 @@ if [[ "${TYPE}" == "release" ]] || [[ "${TYPE}" == "rolling" ]] || [[ "${TYPE}" -e "/^boot_version/c\boot_version: \"${HARD_RC}\"" \ -e "/^boot_domain/c\boot_domain: ${STAGING_URL}/rc" \ user_overrides.yml - docker build -t localbuild -f ${DOCKER_FILE} . + docker build -t localbuild --build-arg NBXYZ_OVERRIDES=${NBXYZ_OVERRIDES} . docker run --rm -i -v $(pwd):/buildout localbuild fi mkdir -p s3out-latest