ARG BUILD_WORKDIR=/dojo/ExerciseChecker ######################################################################## Build stage FROM node:18-alpine AS builder LABEL maintainer="Michaël Minelli <michael-jean.minelli@hesge.ch>" LABEL Description="Dojo exercise checker - Build stage" ARG BUILD_WORKDIR # Create app directory ADD ExerciseChecker/ ${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 --options no-warnings ######################################################################## Run stage FROM docker:24.0.6 LABEL maintainer="Michaël Minelli <michael-jean.minelli@hesge.ch>" LABEL Description="Dojo exercise checker - Container generation for usage in exercise pipelines" RUN apk update RUN apk add git ARG BUILD_WORKDIR COPY --from=builder ${BUILD_WORKDIR}/bin/app /usr/local/bin/dojo_exercise_checker