# This folder is cached between builds # http://docs.gitlab.com/ce/ci/yaml/README.html#cache cache: paths: - node_modules/ - build/ - dist/ - docs/ build: image: node:12 stage: build script: - yarn install - yarn build publish-npm: only: - tags image: node:12 stage: deploy script: - echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" >> .npmrc - npm publish publish-docker: only: - tags stage: deploy image: docker:git services: - docker:dind script: - export version=$(cat package.json | grep version | sed 's/.*"version":.*"\(.*\)",/\1/') - export registryPath=$(echo $CI_REGISTRY/$CI_PROJECT_PATH | awk '{print tolower($0)}') - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY - docker build -t $CI_PROJECT_NAME . - docker tag $CI_PROJECT_NAME:latest $registryPath:latest - docker push $registryPath:latest - docker tag $CI_PROJECT_NAME:latest $registryPath:$version - docker push $registryPath:$version - docker login -u $DOCKER_USER -p $DOCKER_PASS - docker tag $CI_PROJECT_NAME:latest $DOCKER_USER/$CI_PROJECT_NAME:latest - docker push $DOCKER_USER/$CI_PROJECT_NAME:latest - docker tag $CI_PROJECT_NAME:latest $DOCKER_USER/$CI_PROJECT_NAME:$version - docker push $DOCKER_USER/$CI_PROJECT_NAME:$version