include: - project: gitlab-ci/kubernetes-base ref: v5 file: panter-kubernetes-base.yml .ensureDocker: &ensureDocker | function ensureDockerfile() { if [ ! -f .dockerignore ]; then cat > .dockerignore <<EOF node_modules .git EOF fi if [ ! -f .nvmrc ]; then NODE_VERSION=14 else NODE_VERSION="$(cat .nvmrc| sed '/^$/d' | sed 's/[a-z-]//g')" fi if [ ! -f Dockerfile ]; then echo "Creating Dockerfile" cat > Dockerfile <<EOF FROM node:$NODE_VERSION-alpine WORKDIR /app RUN apk add --no-cache git COPY --chown=node:node package.json yarn.lock ./ RUN chown -R node:node . USER node RUN yarn --frozen-lockfile --production=true --ignore-scripts COPY --chown=node:node . . RUN yarn --frozen-lockfile --production=true EOF fi } docker-build: extends: .docker-build before_script: - *ensureDocker - ensureDockerfile