-
Marco Wettstein authoredMarco Wettstein authored
next-kubernetes.yml 945 B
include:
- project: gitlab-ci/kubernetes-base
ref: nvm
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