master
1---
2- hosts: local
3 vars:
4 root_dir: /vagrant/registry
5 tasks:
6
7 - name: ensure apt dependencies
8 apt: pkg={{ item }} state=latest update_cache=yes cache_valid_time=3600
9 sudo: yes
10 with_items:
11 - git
12 - htop
13 - vim
14 - python-virtualenv
15 tags: install
16
17 - name: make flask app directories
18 file: path={{ item }} state=directory
19 with_items:
20 - registry
21 - registry/app
22 - registry/tmp
23 tags: install
24
25 - name: create virualenv
26 command: virtualenv flask chdir={{ root_dir }}
27 tags: install
28
29 - name: ensure pip dependencies
30 pip: name={{ item.name }} version={{ item.ver }} virtualenv=flask chdir={{ root_dir }}
31 with_items:
32 - { name: flask, ver: 0.9 }
33 - { name: flask-mail, ver: 0.7.6 }
34 - { name: sqlalchemy, ver: 0.7.9 }
35 - { name: flask-sqlalchemy, ver: 0.16 }
36 - { name: flask-whooshalchemy, ver: 0.54a }
37 - { name: flask-wtf, ver: 0.8.4 }
38 - { name: pytz, ver: 2013b }
39 - { name: flask-babel, ver: 0.8 }
40 tags: install
41 - name: ensure pip dependencies
42 pip: name={{ item.name }} virtualenv=/vagrant/flask
43 with_items:
44 - { name: sqlalchemy-migrate, ver: }
45 - { name: flask-login, ver: }
46 - { name: flask-openid, ver: }
47 - { name: flup, ver: }
48 tags: install
49
50 - name: deploy flask app
51 #local_action: command rsync -a files/app/ {{ inventory_hostname }}:{{ root_dir }}/app
52 local_action: command rsync -a files/app/ {{ root_dir }}/app
53 tags: deploy
54 - name: deply flask run.py
55 copy: src=files/run.py dest={{ root_dir }}/run.py mode=0755
56 tags: deploy
57
58 handlers: