image: node:lts-alpine cache: key: ${CI_COMMIT_REF_SLUG} paths: - lib - node_modules stages: - build - test - deploy build:build: stage: build script: - npm install - npm run build test:audit: stage: test script: - npm audit test:mocha: stage: test script: - npm test publish:image: image: docker:stable dependencies: - build - test stage: publish variables: DOCKER_DRIVER: overlay2 services: - docker:dind script: - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN registry.gitlab.com - docker build -t registry.gitlab.com/openstapps/api/copy:$CI_BUILD_REF_NAME . - docker push registry.gitlab.com/openstapps/api/copy:$CI_BUILD_REF_NAME - docker build -t registry.gitlab.com/openstapps/api/copy:latest . - docker push registry.gitlab.com/openstapps/api/copy:latest tags: - docker only: - /^v[0-9]+\.[0-9]+\.[0-9]+$/ deploy:pages: stage: deploy script: - npm run documentation - mv docs public only: - /^v[0-9]+\.[0-9]+\.[0-9]+$/ artifacts: paths: - public