You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

122 lines
2.7 KiB

---
- hosts: frontend
gather_facts: no
roles:
- ubuntu-16-04
tasks:
- name: Install nginx
become: yes
apt:
name: nginx
state: latest
update_cache: yes
- name: Disable nginx default site
become: yes
file:
path: /etc/nginx/sites-enabled/default
state: absent
- name: Remove nginx default site config
become: yes
file:
path: /etc/nginx/sites-available/default
state: absent
- name: Create nginx log directory
become: yes
file:
path: /var/log/nginx
state: directory
- name: Copy the site config
become: yes
copy:
src: config/xsnexplorer.io
dest: /etc/nginx/sites-available/xsnexplorer
- name: Copy the nginx config
become: yes
copy:
src: config/nginx.conf
dest: /etc/nginx/nginx.conf
- name: Copy the ssl certificate chain
become: yes
copy:
src: config/ssl/fullchain.pem
dest: /etc/letsencrypt/live/xsnexplorer.io/fullchain.pem
- name: Copy the ssl private key
become: yes
copy:
src: config/ssl/privkey.pem
dest: /etc/letsencrypt/live/xsnexplorer.io/privkey.pem
- name: Copy the ssl nginx config
become: yes
copy:
src: config/ssl/options-ssl-nginx.conf
dest: /etc/letsencrypt/options-ssl-nginx.conf
- name: Copy the ssl-dhparams.pem
become: yes
copy:
src: config/ssl/ssl-dhparams.pem
dest: /etc/letsencrypt/ssl-dhparams.pem
- name: Create the symlink
become: yes
file:
src: /etc/nginx/sites-available/xsnexplorer
dest: /etc/nginx/sites-enabled/xsnexplorer
state: link
- name: Restart nginx
become: yes
service:
name: nginx
state: restarted
- name: Enable nginx to run on system startup
become: yes
systemd:
name: nginx
enabled: yes
- name: Build the application
shell: ./scripts/build-web-ui.sh
delegate_to: 127.0.0.1
- name: Upload the application
synchronize:
src: web.zip
dest: web.zip
- name: Create the web data directory
become: yes
file:
path: /var/www/html
state: directory
owner: www-data
group: www-data
- name: Unpack the application
become: yes
unarchive:
remote_src: yes
src: web.zip
dest: /var/www/html
- name: Move the web content
become: yes
raw: rsync -a /var/www/html/dist/ /var/www/html/ --remove-source-files
- name: Set the permissions
become: yes
file:
dest: /var/www/html
owner: www-data
group: www-data
recurse: yes