deploying using deployer
TRANSCRIPT
![Page 1: Deploying using deployer](https://reader036.vdocuments.site/reader036/viewer/2022062412/587057701a28aba2118b5ab1/html5/thumbnails/1.jpg)
AmsterdamPHP 17-12-2015
Deploying using Deployer
Jeroen v.d. Gulik
![Page 2: Deploying using deployer](https://reader036.vdocuments.site/reader036/viewer/2022062412/587057701a28aba2118b5ab1/html5/thumbnails/2.jpg)
About me
❖ CTO / Co-Founder Isset (http://isset.nl)
❖ Señor Developer
❖ Builder of Artificial Stupidity
❖ @n0x13
❖ Likes Cats … a lot
![Page 3: Deploying using deployer](https://reader036.vdocuments.site/reader036/viewer/2022062412/587057701a28aba2118b5ab1/html5/thumbnails/3.jpg)
![Page 4: Deploying using deployer](https://reader036.vdocuments.site/reader036/viewer/2022062412/587057701a28aba2118b5ab1/html5/thumbnails/4.jpg)
Who uses a deployment tool?
![Page 5: Deploying using deployer](https://reader036.vdocuments.site/reader036/viewer/2022062412/587057701a28aba2118b5ab1/html5/thumbnails/5.jpg)
![Page 6: Deploying using deployer](https://reader036.vdocuments.site/reader036/viewer/2022062412/587057701a28aba2118b5ab1/html5/thumbnails/6.jpg)
![Page 7: Deploying using deployer](https://reader036.vdocuments.site/reader036/viewer/2022062412/587057701a28aba2118b5ab1/html5/thumbnails/7.jpg)
Why use a deployment tool?
![Page 8: Deploying using deployer](https://reader036.vdocuments.site/reader036/viewer/2022062412/587057701a28aba2118b5ab1/html5/thumbnails/8.jpg)
❖ Manual isn’t practical
❖ Lots of tasks
❖ Keep history of deployment script
❖ Automation
❖ Security
❖ Lazy
![Page 9: Deploying using deployer](https://reader036.vdocuments.site/reader036/viewer/2022062412/587057701a28aba2118b5ab1/html5/thumbnails/9.jpg)
What options do we have?
![Page 10: Deploying using deployer](https://reader036.vdocuments.site/reader036/viewer/2022062412/587057701a28aba2118b5ab1/html5/thumbnails/10.jpg)
![Page 11: Deploying using deployer](https://reader036.vdocuments.site/reader036/viewer/2022062412/587057701a28aba2118b5ab1/html5/thumbnails/11.jpg)
❖ Capistrano (http://capistranorb.com/)
❖ Fabric (http://www.fabfile.org/)
❖ Phing (https://www.phing.info/)
❖ Rocketeer (http://rocketeer.autopergamene.eu/)
❖ Ansible (http://www.ansible.com/)
![Page 13: Deploying using deployer](https://reader036.vdocuments.site/reader036/viewer/2022062412/587057701a28aba2118b5ab1/html5/thumbnails/13.jpg)
Why Deployer ?❖ Fast
❖ Modular
❖ Clean Code
❖ Rollbacks
❖ Atomic deploys
❖ Parallel tasks
❖ Consistency
![Page 14: Deploying using deployer](https://reader036.vdocuments.site/reader036/viewer/2022062412/587057701a28aba2118b5ab1/html5/thumbnails/14.jpg)
Why Deployer ?
❖ Simple
❖ Easy
❖ Plain Old PHP
❖ Composer installable
![Page 15: Deploying using deployer](https://reader036.vdocuments.site/reader036/viewer/2022062412/587057701a28aba2118b5ab1/html5/thumbnails/15.jpg)
Requirements
❖ Linux Server
❖ Git
❖ PHP >= 5.4
![Page 16: Deploying using deployer](https://reader036.vdocuments.site/reader036/viewer/2022062412/587057701a28aba2118b5ab1/html5/thumbnails/16.jpg)
Deployer Globally
![Page 17: Deploying using deployer](https://reader036.vdocuments.site/reader036/viewer/2022062412/587057701a28aba2118b5ab1/html5/thumbnails/17.jpg)
Deployer Locally
![Page 18: Deploying using deployer](https://reader036.vdocuments.site/reader036/viewer/2022062412/587057701a28aba2118b5ab1/html5/thumbnails/18.jpg)
![Page 19: Deploying using deployer](https://reader036.vdocuments.site/reader036/viewer/2022062412/587057701a28aba2118b5ab1/html5/thumbnails/19.jpg)
![Page 20: Deploying using deployer](https://reader036.vdocuments.site/reader036/viewer/2022062412/587057701a28aba2118b5ab1/html5/thumbnails/20.jpg)
![Page 21: Deploying using deployer](https://reader036.vdocuments.site/reader036/viewer/2022062412/587057701a28aba2118b5ab1/html5/thumbnails/21.jpg)
![Page 22: Deploying using deployer](https://reader036.vdocuments.site/reader036/viewer/2022062412/587057701a28aba2118b5ab1/html5/thumbnails/22.jpg)
![Page 23: Deploying using deployer](https://reader036.vdocuments.site/reader036/viewer/2022062412/587057701a28aba2118b5ab1/html5/thumbnails/23.jpg)
![Page 24: Deploying using deployer](https://reader036.vdocuments.site/reader036/viewer/2022062412/587057701a28aba2118b5ab1/html5/thumbnails/24.jpg)
![Page 25: Deploying using deployer](https://reader036.vdocuments.site/reader036/viewer/2022062412/587057701a28aba2118b5ab1/html5/thumbnails/25.jpg)
![Page 26: Deploying using deployer](https://reader036.vdocuments.site/reader036/viewer/2022062412/587057701a28aba2118b5ab1/html5/thumbnails/26.jpg)
Easy deploy
![Page 27: Deploying using deployer](https://reader036.vdocuments.site/reader036/viewer/2022062412/587057701a28aba2118b5ab1/html5/thumbnails/27.jpg)
![Page 28: Deploying using deployer](https://reader036.vdocuments.site/reader036/viewer/2022062412/587057701a28aba2118b5ab1/html5/thumbnails/28.jpg)
![Page 29: Deploying using deployer](https://reader036.vdocuments.site/reader036/viewer/2022062412/587057701a28aba2118b5ab1/html5/thumbnails/29.jpg)
Easy Rollback
![Page 30: Deploying using deployer](https://reader036.vdocuments.site/reader036/viewer/2022062412/587057701a28aba2118b5ab1/html5/thumbnails/30.jpg)
![Page 31: Deploying using deployer](https://reader036.vdocuments.site/reader036/viewer/2022062412/587057701a28aba2118b5ab1/html5/thumbnails/31.jpg)
Easy Tasks
![Page 32: Deploying using deployer](https://reader036.vdocuments.site/reader036/viewer/2022062412/587057701a28aba2118b5ab1/html5/thumbnails/32.jpg)
Run Tasks separately
![Page 33: Deploying using deployer](https://reader036.vdocuments.site/reader036/viewer/2022062412/587057701a28aba2118b5ab1/html5/thumbnails/33.jpg)
List all Tasks
![Page 34: Deploying using deployer](https://reader036.vdocuments.site/reader036/viewer/2022062412/587057701a28aba2118b5ab1/html5/thumbnails/34.jpg)
Run onlyOn …
![Page 35: Deploying using deployer](https://reader036.vdocuments.site/reader036/viewer/2022062412/587057701a28aba2118b5ab1/html5/thumbnails/35.jpg)
Reuse Tasks with Recipes
![Page 36: Deploying using deployer](https://reader036.vdocuments.site/reader036/viewer/2022062412/587057701a28aba2118b5ab1/html5/thumbnails/36.jpg)
Frameworks supported❖ CodeIgniter (yeah…)
❖ Drupal 7
❖ FuelPHP
❖ Laravel
❖ Magento
❖ Symfony
❖ WordPress
❖ Yii
❖ Yii2
❖ Zend
![Page 37: Deploying using deployer](https://reader036.vdocuments.site/reader036/viewer/2022062412/587057701a28aba2118b5ab1/html5/thumbnails/37.jpg)
Symfony Recipe
![Page 38: Deploying using deployer](https://reader036.vdocuments.site/reader036/viewer/2022062412/587057701a28aba2118b5ab1/html5/thumbnails/38.jpg)
Symfony 3
![Page 39: Deploying using deployer](https://reader036.vdocuments.site/reader036/viewer/2022062412/587057701a28aba2118b5ab1/html5/thumbnails/39.jpg)
Functions
![Page 40: Deploying using deployer](https://reader036.vdocuments.site/reader036/viewer/2022062412/587057701a28aba2118b5ab1/html5/thumbnails/40.jpg)
Serverlist externally
![Page 41: Deploying using deployer](https://reader036.vdocuments.site/reader036/viewer/2022062412/587057701a28aba2118b5ab1/html5/thumbnails/41.jpg)
YAML
![Page 42: Deploying using deployer](https://reader036.vdocuments.site/reader036/viewer/2022062412/587057701a28aba2118b5ab1/html5/thumbnails/42.jpg)
Defaults
![Page 43: Deploying using deployer](https://reader036.vdocuments.site/reader036/viewer/2022062412/587057701a28aba2118b5ab1/html5/thumbnails/43.jpg)
Demo
![Page 44: Deploying using deployer](https://reader036.vdocuments.site/reader036/viewer/2022062412/587057701a28aba2118b5ab1/html5/thumbnails/44.jpg)
Perfect?
❖ Only supports git
❖ Global namespace (Hamcrest)