65 lines
1.1 KiB
YAML
65 lines
1.1 KiB
YAML
|
image: node:latest
|
||
|
|
||
|
stages:
|
||
|
- test
|
||
|
- build
|
||
|
- package
|
||
|
|
||
|
test_backend:
|
||
|
stage: test
|
||
|
script:
|
||
|
- npm ci
|
||
|
- npm run lint
|
||
|
|
||
|
test_frontend:
|
||
|
stage: test
|
||
|
script:
|
||
|
- cd frontend
|
||
|
- npm ci
|
||
|
- npm run lint
|
||
|
|
||
|
build_backend:
|
||
|
stage: build
|
||
|
needs:
|
||
|
- job: test_backend
|
||
|
artifacts: false
|
||
|
script:
|
||
|
- npm ci
|
||
|
- npm webpack
|
||
|
artifacts:
|
||
|
paths:
|
||
|
- dist/
|
||
|
expire_in: 1h
|
||
|
|
||
|
build_frontend:
|
||
|
stage: build
|
||
|
needs:
|
||
|
- job: test_frontend
|
||
|
artifacts: false
|
||
|
script:
|
||
|
- cd frontend
|
||
|
- npm ci
|
||
|
- npm run lint
|
||
|
artifacts:
|
||
|
paths:
|
||
|
- frontend/dist/
|
||
|
expire_in: 1h
|
||
|
|
||
|
package_server:
|
||
|
stage: package
|
||
|
needs:
|
||
|
- job: build_backend
|
||
|
artifacts: true
|
||
|
- job: build_frontend
|
||
|
artifacts: true
|
||
|
script:
|
||
|
- TMP=$(mktemp -d)
|
||
|
- mv dist/* "$TMP"
|
||
|
- mkdir "$TMP/frontend"
|
||
|
- mv frontend/dist/* "$TMP/frontend"
|
||
|
- rm -r *
|
||
|
- mv "$TMP/*" .
|
||
|
artifacts:
|
||
|
paths:
|
||
|
- .
|