39 lines
1.2 KiB
YAML
39 lines
1.2 KiB
YAML
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}
|