From 4ab96cbccfa0f29b7d53c174d6134771dc5b035e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Minelli?= <michael@minelli.me> Date: Fri, 28 Jul 2023 21:57:15 +0200 Subject: [PATCH] Add Dockerfile --- Dockerfile_ExerciceChecker | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 Dockerfile_ExerciceChecker diff --git a/Dockerfile_ExerciceChecker b/Dockerfile_ExerciceChecker new file mode 100644 index 0000000..fb8bf1b --- /dev/null +++ b/Dockerfile_ExerciceChecker @@ -0,0 +1,36 @@ +ARG BUILD_WORKDIR=/dojo/ExerciceChecker + + + +######################################################################## Build stage +FROM node:18-alpine AS builder +LABEL maintainer="Michaël Minelli <michael-jean.minelli@hesge.ch>" +LABEL Description="Dojo exercice checker - Build stage" + +ARG BUILD_WORKDIR + +# Create app directory +ADD ExerciceChecker/ ${BUILD_WORKDIR}/ + +WORKDIR ${BUILD_WORKDIR} + +# Install app dependencies +RUN npm install -g pkg-fetch +RUN npm install + +# Build app +RUN npm run build + +# Transform app to binary +RUN npx pkg . -t node18 --output ${BUILD_WORKDIR}/bin/app --public-packages "*" --public + + + +######################################################################## Run stage +FROM docker:latest +LABEL maintainer="Michaël Minelli <michael-jean.minelli@hesge.ch>" +LABEL Description="Dojo exercice checker - Container generation for usage in exercice pipelines" + +ARG BUILD_WORKDIR + +COPY --from=builder ${BUILD_WORKDIR}/bin/app /usr/local/bin/dojo_exercice_checker \ No newline at end of file -- GitLab