Consolidate Dockerfiles

Uses ARGs for whether to add production overrides
or not, by default, it uses the default settings
and not the overrides.
This commit is contained in:
Antony Messerli 2022-06-26 11:54:30 -05:00
parent d401ff7f20
commit 4f4eb8b26c
4 changed files with 31 additions and 39 deletions

26
Dockerfile Normal file
View file

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

View file

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

View file

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

View file

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