stages: - build-project - build-container image: node:14-alpine variables: KANIKO_BUILD_IMAGENAME: dashboard build-project: stage: build-project before_script: [] script: - echo "Building app" - yarn install - echo "REACT_APP_API_URL=/api/v1" > .env - echo "EXTEND_ESLINT=true" >> .env - yarn build - mv build web-build - echo "Build successful" artifacts: expire_in: 1 hour name: web-build paths: - web-build build-container: stage: build-container image: # We need a shell to provide the registry credentials, so we need to use the # kaniko debug image (https://github.com/GoogleContainerTools/kaniko#debug-image) name: gcr.io/kaniko-project/executor:debug entrypoint: [""] script: - cp deployment/Dockerfile web-build - cp deployment/nginx.conf web-build - cd web-build - echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json - /kaniko/executor --cache=true --context ${CI_PROJECT_DIR}/web-build --destination ${CI_REGISTRY_IMAGE}/${KANIKO_BUILD_IMAGENAME}:${CI_COMMIT_REF_SLUG}