stages: - build - start - stop - test - workers master_build: stage: build tags: - master artifacts: paths: - coverage before_script: - export PATH=$PATH:/.nvm/versions/node/v8.9.4/bin/ script: - npm run build:docker && npm run start:docker && docker exec gapi-api-rabbitmq rabbitmq-plugins enable rabbitmq_management && sleep 15 && docker exec gapi-api-prod npm test only: - /^master.*$/ when: always master_start: stage: start tags: - master before_script: - export PATH=$PATH:/.nvm/versions/node/v8.9.4/bin/ script: - npm run start:docker && exit only: - /^master.*$/ when: manual master_stop: stage: stop tags: - master before_script: - export PATH=$PATH:/.nvm/versions/node/v8.9.4/bin/ script: - npm run stop:docker && exit only: - /^master.*$/ when: manual master_test: stage: test tags: - master before_script: - export PATH=$PATH:/.nvm/versions/node/v8.9.4/bin/ script: - npm run test only: - /^master.*$/ when: manual master_workers_start: stage: workers tags: - master before_script: - export PATH=$PATH:/.nvm/versions/node/v8.9.4/bin/ script: - npm run start:workers only: - /^master.*$/ when: manual master_workers_stop: stage: workers before_script: - export PATH=$PATH:/.nvm/versions/node/v8.9.4/bin/ tags: - master script: - npm run stop:workers only: - /^master.*$/ when: manual