Archive old talks
This commit is contained in:
parent
12863a4f92
commit
9692827603
73 changed files with 0 additions and 618 deletions
243
archive/deploying-php-ansible-ansistrano/sections/ansistrano.rst
Normal file
243
archive/deploying-php-ansible-ansistrano/sections/ansistrano.rst
Normal file
|
@ -0,0 +1,243 @@
|
|||
.. page:: titlePage
|
||||
|
||||
.. class:: centredtitle
|
||||
|
||||
Better deployments with Ansistrano
|
||||
|
||||
.. page:: standardPage
|
||||
|
||||
.. image:: images/ansistrano.png
|
||||
:width: 24cm
|
||||
|
||||
.. page::
|
||||
|
||||
Features
|
||||
========
|
||||
|
||||
- Multiple release directories
|
||||
- Shared paths and files
|
||||
- Customisable
|
||||
- Multiple deployment strategies
|
||||
- Multi-stage environments
|
||||
- Prune old releases
|
||||
- Rollbacks
|
||||
|
||||
.. page::
|
||||
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
# requirements.yml
|
||||
|
||||
---
|
||||
- src: ansistrano.deploy
|
||||
- src: ansistrano.rollback
|
||||
|
||||
.. raw:: pdf
|
||||
|
||||
TextAnnotation "to install Ansistrano, add the additional roles to the requirements.yml file"
|
||||
|
||||
.. page::
|
||||
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
# deploy.yml
|
||||
|
||||
---
|
||||
- hosts: all
|
||||
|
||||
roles:
|
||||
- ansistrano.deploy
|
||||
|
||||
.. raw:: pdf
|
||||
|
||||
TextAnnotation "add to roles within the playbook"
|
||||
|
||||
.. page::
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
# deploy.yml
|
||||
|
||||
---
|
||||
vars:
|
||||
project_deploy_dir: /app
|
||||
|
||||
ansistrano_deploy_to: '{{ project_deploy_dir }}'
|
||||
ansistrano_deploy_via: git
|
||||
ansistrano_git_branch: master
|
||||
ansistrano_git_repo: 'git@github.com:opdavies/dransible'
|
||||
|
||||
.. page::
|
||||
.. code-block::
|
||||
|
||||
PLAY [webservers] ******************************************************************************************************
|
||||
|
||||
TASK [Gathering Facts] *************************************************************************************************
|
||||
ok: [webservers]
|
||||
|
||||
TASK [ansistrano.deploy : include_tasks] *******************************************************************************
|
||||
|
||||
TASK [ansistrano.deploy : include_tasks] *******************************************************************************
|
||||
included: /Users/opdavies/.ansible/roles/ansistrano.deploy/tasks/setup.yml for webservers
|
||||
|
||||
TASK [ansistrano.deploy : ANSISTRANO | Ensure deployment base path exists] *********************************************
|
||||
ok: [webservers]
|
||||
|
||||
TASK [ansistrano.deploy : ANSISTRANO | Ensure releases folder exists] **************************************************
|
||||
ok: [webservers]
|
||||
|
||||
TASK [ansistrano.deploy : ANSISTRANO | Ensure shared elements folder exists] *******************************************
|
||||
ok: [webservers]
|
||||
|
||||
TASK [ansistrano.deploy : ANSISTRANO | Ensure shared paths exists] *****************************************************
|
||||
ok: [webservers] => (item=web/sites/default/files)
|
||||
|
||||
.. page::
|
||||
|
||||
.. code-block::
|
||||
|
||||
TASK [ansistrano.deploy : Update file permissions] *********************************************************************
|
||||
changed: [webservers]
|
||||
|
||||
TASK [ansistrano.deploy : include_tasks] *******************************************************************************
|
||||
|
||||
TASK [ansistrano.deploy : include_tasks] *******************************************************************************
|
||||
included: /Users/opdavies/.ansible/roles/ansistrano.deploy/tasks/cleanup.yml for webservers
|
||||
|
||||
TASK [ansistrano.deploy : ANSISTRANO | Clean up releases] **************************************************************
|
||||
changed: [webservers]
|
||||
|
||||
TASK [ansistrano.deploy : include_tasks] *******************************************************************************
|
||||
|
||||
TASK [ansistrano.deploy : include_tasks] *******************************************************************************
|
||||
included: /Users/opdavies/.ansible/roles/ansistrano.deploy/tasks/anon-stats.yml for webservers
|
||||
|
||||
TASK [ansistrano.deploy : ANSISTRANO | Send anonymous stats] ***********************************************************
|
||||
skipping: [webservers]
|
||||
|
||||
PLAY RECAP *************************************************************************************************************
|
||||
webservers : ok=33 changed=14 unreachable=0 failed=0 skipped=7 rescued=0 ignored=0
|
||||
|
||||
.. page::
|
||||
|
||||
.. code-block::
|
||||
|
||||
vagrant@dransible:/app$ ls -l
|
||||
total 8
|
||||
|
||||
lrwxrwxrwx 1 26 Jul 19 00:15 current -> ./releases/20190719001241Z
|
||||
drwxr-xr-x 5 4096 Jul 22 20:30 releases
|
||||
drwxr-xr-x 4 4096 Jul 19 00:00 shared
|
||||
|
||||
.. page::
|
||||
|
||||
.. code-block::
|
||||
|
||||
vagrant@dransible:/app/releases$ ls -l
|
||||
total 20
|
||||
|
||||
drwxr-xr-x 5 4096 Jul 22 20:30 .
|
||||
drwxr-xr-x 4 4096 Jul 19 00:15 ..
|
||||
drwxr-xr-x 10 4096 Jul 19 00:02 20190719000013Z
|
||||
drwxr-xr-x 10 4096 Jul 19 00:14 20190719001241Z
|
||||
drwxr-xr-x 9 4096 Jul 22 20:30 20190722203038Z
|
||||
|
||||
.. page::
|
||||
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
# rollback.yml
|
||||
|
||||
---
|
||||
- hosts: all
|
||||
|
||||
roles:
|
||||
- ansistrano.rollback
|
||||
|
||||
vars:
|
||||
ansistrano_deploy_to: '{{ project_deploy_dir }}'
|
||||
|
||||
.. page:: titlePage
|
||||
|
||||
.. class:: centredtitle
|
||||
|
||||
``ansible-playbook rollback.yml
|
||||
-i hosts.yml``
|
||||
|
||||
.. page::
|
||||
|
||||
.. class:: centredtitle
|
||||
|
||||
Customising Ansistrano:
|
||||
Build Hooks
|
||||
|
||||
.. page:: imagePage
|
||||
|
||||
.. image:: images/ansistrano-flow.png
|
||||
:width: 18cm
|
||||
|
||||
.. raw:: pdf
|
||||
|
||||
TextAnnotation "Each step has a 'before' and 'after' step Ansistrano allows us to add more things by providing a path to a playbook and adding additional steps."
|
||||
|
||||
.. page:: standardPage
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
# deploy.yml
|
||||
|
||||
---
|
||||
vars:
|
||||
ansistrano_after_symlink_shared_tasks_file: >
|
||||
'{{ playbook_dir }}/deploy/after-symlink-shared.yml'
|
||||
ansistrano_after_symlink_tasks_file: >
|
||||
'{{ playbook_dir }}/deploy/after-symlink.yml'
|
||||
ansistrano_after_update_code_tasks_file: >
|
||||
'{{ playbook_dir }}/deploy/after-update-code.yml'
|
||||
|
||||
release_web_path: '{{ ansistrano_release_path.stdout }}/web'
|
||||
release_drush_path: '{{ ansistrano_release_path.stdout }}/bin/drush'
|
||||
|
||||
.. page::
|
||||
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
# deploy/after-update-code.yml
|
||||
|
||||
---
|
||||
- name: Install Composer dependencies
|
||||
composer:
|
||||
command: install
|
||||
working_dir: '{{ ansistrano_release_path.stdout }}'
|
||||
|
||||
.. page::
|
||||
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
# deploy/after-symlink-shared.yml
|
||||
|
||||
---
|
||||
- name: Run database updates
|
||||
command: >
|
||||
{{ release_drush_path }}
|
||||
--root {{ release_web_path }}
|
||||
updatedb
|
||||
|
||||
.. page::
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
# deploy/after-symlink.yml
|
||||
|
||||
---
|
||||
- name: Rebuild Drupal cache
|
||||
command: >
|
||||
{{ release_drush_path }}
|
||||
--root {{ release_web_path }}
|
||||
cache-rebuild
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue