ansible playbook for deploying a node app on ubuntu
---
- hosts: all
remote_user: ubuntu
vars:
app_repo: git@bitbucket.org:****/****.git
app_id: my_app
app_folder: /home/ubuntu/my_app
log_folder: /home/ubuntu/my_app_logs
tasks:
- name: git clone
git: repo={{app_repo}} dest={{app_folder}} accept_hostkey=yes force=yes
register: app_updated
- name: npm install
when: app_updated|changed
npm: path={{app_folder}}
- name: "Restart app"
sudo: yes
when: app_updated|changed
command: forever --uid "{{app_id}}" -al {{log_folder}}/forever.log restart {{app_folder}}/app.js --prod