blob: 9072bf83c217c9fcd4f89374e6c4ce6de1474c55 (
plain)
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
|
---
# Target: alpine3.10
- name: Install Isso Commenting Server
hosts: isso
vars:
user: isso
home: "/opt/{{ user }}"
version: 7eed747e7a94ca1a19c01c67de7ed6b16d2bbe3d
tasks:
- name: Ensuring group exists
group:
name: "{{ user }}"
state: present
- name: Creating user and making home directory
user:
system: yes
state: present
name: "{{ user }}"
groups: "{{ user }}"
home: "{{ home }}"
- name: Installing the required dependencies
apk:
state: present
update_cache: yes
name:
- sudo
- git
- gcc
- python3-dev
- musl-dev
- libffi-dev
- npm
- make
- supervisor
- block:
- name: Cloning repository
git:
repo: https://github.com/posativ/isso
dest: "{{ home }}"
version: "{{ version }}"
- name: Setting up python virtual environment
shell: python3 -m venv .
args:
chdir: "{{ home }}"
creates: bin/activate
- name: Setting up build environment
shell: |
. bin/activate
python setup.py develop
args:
chdir: "{{ home }}"
creates: isso.egg-info
- name: Installing JavaScript dependencies
shell: npm install bower requirejs jade
args:
chdir: "{{ home }}"
creates: node_modules/.bin
- name: Building JavaScript assets
shell: |
PATH=$PATH:"{{ home }}"/node_modules/.bin
make init
make js
args:
chdir: "{{ home }}"
creates: isso/js/embed.min.js
- name: Copying config file
copy:
src: isso.conf
dest: "{{ home }}/isso.conf"
mode: '0644'
register: issoConfig
become: true
become_user: "{{ user }}"
- name: Copying supervisord config file
copy:
src: supervisord.conf
dest: /etc/supervisord.conf
mode: '0644'
register: supervisorConfig
- name: Ensuring supervisord has been started and enabled
service:
name: supervisord
state: started
enabled: yes
- name: Waiting for supervisor to become active
wait_for:
port: 9100
- name: Restarting supervisord due to config change
service:
name: supervisord
state: restarted
when: supervisorConfig.changed
- name: Ensuring isso has been started
supervisorctl:
name: isso
state: started
- name: Waiting for application to become active
wait_for:
port: 8100
- name: Restarting application due to config change
supervisorctl:
name: isso
state: restarted
when: issoConfig.changed
- name: Testing if isso admin page exists
uri:
url: http://0.0.0.0:8100/admin
return_content: yes
- name: Testing if isso JavaScript exists
uri:
url: http://0.0.0.0:8100/js/embed.min.js
return_content: yes
|