2019-01-09 16:24:52 +00:00
|
|
|
|
---
|
|
|
|
|
title: Deploying PHP applications with Ansible, Ansible Vault and Ansistrano
|
2020-03-08 17:52:59 +00:00
|
|
|
|
description:
|
|
|
|
|
How to use Ansible and Ansistrano to perform robust, secure deployments of
|
|
|
|
|
your PHP applications.
|
2019-01-09 16:24:52 +00:00
|
|
|
|
speakerdeck:
|
2020-03-08 17:52:59 +00:00
|
|
|
|
id: c11fe635ed8f4741b35bf3ebe53e8323
|
|
|
|
|
ratio: '1.77777777777778'
|
|
|
|
|
url: https://speakerdeck.com/opdavies/deploying-php-applications-with-ansible-ansible-vault-and-ansistrano
|
2019-07-23 22:34:42 +00:00
|
|
|
|
video:
|
2020-03-08 17:52:59 +00:00
|
|
|
|
type: youtube
|
|
|
|
|
id: uxXLNdNZu30
|
2019-01-09 16:24:52 +00:00
|
|
|
|
tags: [meetup, php, ansible, ansistrano]
|
2019-01-18 14:39:16 +00:00
|
|
|
|
events:
|
2020-03-08 17:52:59 +00:00
|
|
|
|
- event: drupal_bristol
|
|
|
|
|
date: 2019-01-23
|
|
|
|
|
- event: php_south_wales
|
|
|
|
|
date: 2019-07-23
|
|
|
|
|
- event: drupalcon_eu_19
|
|
|
|
|
date: 2019-10-30
|
|
|
|
|
- event: bristol_devops
|
|
|
|
|
date: 2020-01-30
|
|
|
|
|
url: https://www.meetup.com/Bristol-Cloud-Native-DevOps/events/266609627
|
|
|
|
|
- event: drupal_edinburgh
|
|
|
|
|
date: 2020-03-12
|
2020-03-14 21:09:54 +00:00
|
|
|
|
remote: true
|
2020-03-08 17:52:59 +00:00
|
|
|
|
url: https://www.meetup.com/Drupal-Edinburgh/events/267905594
|
2019-01-09 16:24:52 +00:00
|
|
|
|
---
|
|
|
|
|
|
2020-03-08 17:52:59 +00:00
|
|
|
|
Great! You’ve built your website, and now you just need to deploy it. There are
|
|
|
|
|
various ways that this could be done - from (S)FTP, to SCP and rsync, to running
|
|
|
|
|
commands like `git pull` and `composer install` directly on the server which is
|
|
|
|
|
not ideal.
|
2019-01-10 01:51:41 +00:00
|
|
|
|
|
2020-03-08 17:52:59 +00:00
|
|
|
|
As well provisioning and maintaining your server configuration and running
|
|
|
|
|
commands, you can also use [Ansible](https://www.ansible.com) to deploy your PHP
|
|
|
|
|
application - leveraging relevant Ansible modules such as Git and Composer,
|
|
|
|
|
custom Ansible roles,
|
|
|
|
|
[Ansible Vault](https://docs.ansible.com/ansible/latest/user_guide/vault.html)
|
|
|
|
|
for managing secrets, and features such as idempotency out of the box to build a
|
|
|
|
|
simple deployment playbook.
|
2019-01-09 16:24:52 +00:00
|
|
|
|
|
2020-03-08 17:52:59 +00:00
|
|
|
|
We can then extend that and make it more robust by adding
|
|
|
|
|
[Ansistrano](https://ansistrano.com) - a port of
|
|
|
|
|
[Capistrano](https://capistranorb.com) - which adds extra features such as
|
|
|
|
|
storing multiple builds for each project and the ability to roll-back if needed,
|
|
|
|
|
customising your build steps using built-in hooks, multi-stage environments and
|
|
|
|
|
more.
|
|
|
|
|
|
|
|
|
|
I've been using Ansible and Ansistrano to deploy a variety of PHP projects -
|
|
|
|
|
including Drupal 7 & 8, Symfony, Laravel and Sculpin, as well as basic HTML
|
|
|
|
|
websites, and found it to be very flexible and easy to install and use, and by
|
|
|
|
|
the end of this talk we will have a fully working deployment playbook, deploying
|
|
|
|
|
real code onto a real server.
|