-
Notifications
You must be signed in to change notification settings - Fork 0
/
AppWebUpdate.yml
49 lines (39 loc) · 963 Bytes
/
AppWebUpdate.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
---
- name: Upgrade foo-app in place
hosts: foo-app
serial: 2
# Disable foo-app from Load balancer (delegate to foo-lb)
tasks:
- name: disable member in balancer
haproxy:
backend: foo-app
host: "{{ inventory_hostname }}"
state: disabled
delegate_to: foo-lb
# Update foo-app from Git and reload Nginx after it (notify)
- name: pull stable foo-app
git:
repo: "{{ foo-app.repo }}"
dest: /srv/foo-app/
version: "{{ foo-version }}"
notify:
- reload nginx
???
- meta: flush_handlers
# Check Nginx for listening 80 port
- name: ensure healthy service
wait_for:
port: 80
# Enable foo-app to Load balancer (delegate to foo-lb)
- name: enable member in balancer
haproxy:
backend: foo-app
host: "{{ inventory_hostname }}"
state: enabled
delegate_to: foo-lb
???
handlers:
- name: reload nginx
service:
name: nginx
state: restarted