Files
openstapps/.gitlab-ci.yml
2020-11-23 10:19:11 +01:00

108 lines
2.3 KiB
YAML

image: registry.gitlab.com/openstapps/projectmanagement/node
before_script:
- npm ci
stages:
- build
- test
- audit
- publish
- deploy
build:
stage: build
script:
- npm run build
artifacts:
paths:
- lib
docker build:
image: registry.gitlab.com/openstapps/projectmanagement/builder
stage: test
variables:
DOCKER_DRIVER: overlay2
services:
- docker:dind
script:
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN registry.gitlab.com
- docker build -t registry.gitlab.com/openstapps/projectmanagement/builder -f images/builder/Dockerfile .
- docker build -t registry.gitlab.com/openstapps/projectmanagement/node -f images/node/Dockerfile .
tags:
- docker
docker-builder:
image: registry.gitlab.com/openstapps/projectmanagement/builder
stage: build
only:
- schedules
variables:
DOCKER_DRIVER: overlay2
services:
- docker:dind
script:
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN registry.gitlab.com
- docker build -t registry.gitlab.com/openstapps/projectmanagement/builder -f images/builder/Dockerfile .
- docker push registry.gitlab.com/openstapps/projectmanagement/builder
tags:
- docker
docker-node:
image: registry.gitlab.com/openstapps/projectmanagement/builder
stage: build
only:
- schedules
variables:
DOCKER_DRIVER: overlay2
services:
- docker:dind
script:
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN registry.gitlab.com/openstapps/projectmanagement/
- docker build -t registry.gitlab.com/openstapps/projectmanagement/node -f images/node/Dockerfile .
- docker push registry.gitlab.com/openstapps/projectmanagement/node
tags:
- docker
npm:
allow_failure: true
except:
- schedules
script:
- npm audit
stage: audit
scheduled npm:
only:
- schedules
script:
- npm audit --audit-level=high
stage: audit
pages:
stage: deploy
script:
- npm run documentation
- mv docs public
only:
- /^v[0-9]+\.[0-9]+\.[0-9]+$/
artifacts:
paths:
- public
package:
dependencies:
- build
tags:
- secrecy
stage: publish
script:
- echo "//registry.npmjs.org/:_authToken=$NPM_AUTH_TOKEN" > ~/.npmrc
- npm publish
only:
- /^v[0-9]+.[0-9]+.[0-9]+$/
artifacts:
paths:
- lib