|
|
- # This file is a template, and might need editing before it works on your project.
- # Official framework image. Look for the different tagged releases at:
- # https://hub.docker.com/r/library/node/tags/
- image: node:latest
-
- cache:
- paths:
- - node_modules/
-
- before_script:
- - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
- - eval $(ssh-agent -s)
- - echo "$SSH_PRIV_KEY" | tr -d '\r' | ssh-add - > /dev/null
- - mkdir -p ~/.ssh
- - chmod 700 ~/.ssh
- - echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config
-
- stages:
- - test
- - deploy
-
- test_coverage:
- stage: test
- script:
- - npm install
- - npm install --global mocha nyc
- - npm run coverage
-
- deploy_prod:
- stage: deploy
- script:
- - echo "Deploying to Production"
- - npm install
- - ssh root@68.183.173.226 "cd /opt/website && git pull && npm install && bash -c \"pm2 stop LeviOlson && pm2 delete LeviOlson && pm2 start app.js --name LeviOlson --watch && pm2 logs --nostream --lines 2 LeviOlson && exit 0\" && exit 0"
- environment:
- name: production
- url: https://leviolson.com
- only:
- - master
|