Re-add ansistrano and circle files

This commit is contained in:
Oliver Davies 2018-05-06 21:51:35 +01:00
parent 20d2a42a82
commit 9cf83920b2
7 changed files with 101 additions and 10 deletions

45
.circleci/config.yml Normal file
View 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

View file

@ -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

View 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 }}'

View file

@ -0,0 +1,5 @@
---
- name: Reload nginx
service:
name: nginx
state: reloaded

View file

@ -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;

View file

@ -1,4 +1,7 @@
---
- src: carlosbuenosvinos.ansistrano-deploy
version: 2.2.0
- src: geerlingguy.certbot
version: 3.0.0

View file

@ -1,2 +1,3 @@
---
server_name: www.oliverdavi.es
ansistrano_current_dir: current