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 Dockerfile ]; then
      echo "Creating Dockerfile"
      
      cat > Dockerfile <<EOF
  FROM node:12-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
