image: registry.gitlab.com/openstapps/projectmanagement/node cache: key: ${CI_COMMIT_REF_SLUG} paths: - node_modules before_script: - npm install 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 before_script: [] 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 before_script: [] 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 before_script: [] npm: allow_failure: true except: - schedules script: - npm audit stage: audit scheduled npm: only: - schedules script: - npm audit 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