Re-add ansistrano and circle files
This commit is contained in:
parent
20d2a42a82
commit
9cf83920b2
45
.circleci/config.yml
Normal file
45
.circleci/config.yml
Normal file
|
@ -0,0 +1,45 @@
|
|||
version: 2
|
||||
|
||||
jobs:
|
||||
build:
|
||||
docker:
|
||||
- image: circleci/php:7.1
|
||||
steps:
|
||||
- checkout
|
||||
- restore_cache:
|
||||
keys:
|
||||
- v1-dependencies-{{ checksum "composer.json" }}
|
||||
- v1-dependencies-
|
||||
- run: composer install -n --prefer-dist
|
||||
- save_cache:
|
||||
paths:
|
||||
- ./vendor
|
||||
key: v1-dependencies-{{ checksum "composer.json" }}
|
||||
|
||||
deploy:
|
||||
docker:
|
||||
- image: ansible/ansible:ubuntu1604
|
||||
environment:
|
||||
ANSIBLE_HOST_KEY_CHECKING: no
|
||||
steps:
|
||||
- run:
|
||||
name: Install system packages.
|
||||
command: pip install --upgrade pip && pip install ansible
|
||||
- checkout
|
||||
- restore_cache:
|
||||
key: v1-{{ .Branch }}-{{ checksum "./ansible/requirements.yml" }}
|
||||
- run: ansible-galaxy install -r ansible/requirements.yml
|
||||
- save_cache:
|
||||
key: v1-{{ .Branch }}-{{ checksum "./ansible/requirements.yml" }}
|
||||
paths:
|
||||
- '/root/.ansible/roles'
|
||||
- run: ansible-playbook ansible/deploy.yml -i ansible/hosts -e 'git_branch=master' -u opdavies --become
|
||||
|
||||
workflows:
|
||||
version: 2
|
||||
build_test_and_deploy:
|
||||
jobs:
|
||||
- build
|
||||
- deploy:
|
||||
requires:
|
||||
- build
|
|
@ -5,9 +5,21 @@
|
|||
vars_files:
|
||||
- ./vars/main.yml
|
||||
|
||||
tasks:
|
||||
- synchronize:
|
||||
src: ../output_prod/
|
||||
dest: '/srv/{{ server_name }}'
|
||||
delete: yes
|
||||
recursive: yes
|
||||
vars_prompt:
|
||||
- name: git_branch
|
||||
prompt: 'Enter a branch to deploy'
|
||||
default: master
|
||||
private: false
|
||||
|
||||
vars:
|
||||
ansistrano_deploy_to: "/srv/{{ server_name }}/current/output_prod"
|
||||
ansistrano_deploy_via: git
|
||||
ansistrano_git_repo: https://github.com/opdavies/oliverdavi.es
|
||||
ansistrano_git_branch: "{{ git_branch }}"
|
||||
ansistrano_keep_releases: 3
|
||||
ansistrano_allow_anonymous_stats: false
|
||||
ansistrano_after_symlink_shared_tasks_file: "{{ playbook_dir }}/deploy/after-symlink-shared.yml"
|
||||
ansistrano_after_symlink_tasks_file: "{{ playbook_dir }}/deploy/after-symlink.yml"
|
||||
|
||||
roles:
|
||||
- carlosbuenosvinos.ansistrano-deploy
|
||||
|
|
25
ansible/deploy/after-symlink-shared.yml
Normal file
25
ansible/deploy/after-symlink-shared.yml
Normal file
|
@ -0,0 +1,25 @@
|
|||
---
|
||||
- name: Install Composer dependencies
|
||||
composer:
|
||||
command: install
|
||||
working_dir: "{{ ansistrano_release_path.stdout }}"
|
||||
|
||||
- name: Generate the site once without assets
|
||||
command: vendor/bin/sculpin generate -e prod
|
||||
args:
|
||||
chdir: '{{ ansistrano_release_path.stdout }}'
|
||||
|
||||
- name: Install Node dependencies
|
||||
command: yarn install
|
||||
args:
|
||||
chdir: '{{ ansistrano_release_path.stdout }}'
|
||||
|
||||
- name: Generate assets
|
||||
command: yarn build
|
||||
args:
|
||||
chdir: '{{ ansistrano_release_path.stdout }}'
|
||||
|
||||
- name: Generate the site, including assets
|
||||
command: ./vendor/bin/sculpin generate -e prod
|
||||
args:
|
||||
chdir: '{{ ansistrano_release_path.stdout }}'
|
5
ansible/deploy/after-symlink.yml
Normal file
5
ansible/deploy/after-symlink.yml
Normal file
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
- name: Reload nginx
|
||||
service:
|
||||
name: nginx
|
||||
state: reloaded
|
|
@ -46,10 +46,10 @@
|
|||
filename: oliverdavi.es.443.conf
|
||||
|
||||
- listen: 443 ssl
|
||||
server_name: "{{ server_name }}"
|
||||
root: "/srv/{{ server_name }}"
|
||||
nginx_error_log: "/var/log/nginx/{{ server_name }}_error.log warn"
|
||||
nginx_access_log: "/var/log/nginx/{{ server_name }}_access.log warn"
|
||||
server_name: '{{ server_name }}'
|
||||
root: '/srv/{{ server_name }}/{{ ansistrano_current_dir }}/output_prod'
|
||||
nginx_error_log: '/var/log/nginx/{{ server_name }}_error.log warn'
|
||||
nginx_access_log: '/var/log/nginx/{{ server_name }}_access.log warn'
|
||||
error_page: 404 /404.html
|
||||
extra_parameters: |
|
||||
ssl_certificate /etc/letsencrypt/live/oliverdavi.es/fullchain.pem;
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
---
|
||||
- src: carlosbuenosvinos.ansistrano-deploy
|
||||
version: 2.2.0
|
||||
|
||||
- src: geerlingguy.certbot
|
||||
version: 3.0.0
|
||||
|
||||
|
|
|
@ -1,2 +1,3 @@
|
|||
---
|
||||
server_name: www.oliverdavi.es
|
||||
ansistrano_current_dir: current
|
||||
|
|
Loading…
Reference in a new issue