Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

of

Automating Deployments with Deployer - php[world] 2018 Slide 1 Automating Deployments with Deployer - php[world] 2018 Slide 2 Automating Deployments with Deployer - php[world] 2018 Slide 3 Automating Deployments with Deployer - php[world] 2018 Slide 4 Automating Deployments with Deployer - php[world] 2018 Slide 5 Automating Deployments with Deployer - php[world] 2018 Slide 6 Automating Deployments with Deployer - php[world] 2018 Slide 7 Automating Deployments with Deployer - php[world] 2018 Slide 8 Automating Deployments with Deployer - php[world] 2018 Slide 9 Automating Deployments with Deployer - php[world] 2018 Slide 10 Automating Deployments with Deployer - php[world] 2018 Slide 11 Automating Deployments with Deployer - php[world] 2018 Slide 12 Automating Deployments with Deployer - php[world] 2018 Slide 13 Automating Deployments with Deployer - php[world] 2018 Slide 14 Automating Deployments with Deployer - php[world] 2018 Slide 15 Automating Deployments with Deployer - php[world] 2018 Slide 16 Automating Deployments with Deployer - php[world] 2018 Slide 17 Automating Deployments with Deployer - php[world] 2018 Slide 18 Automating Deployments with Deployer - php[world] 2018 Slide 19 Automating Deployments with Deployer - php[world] 2018 Slide 20 Automating Deployments with Deployer - php[world] 2018 Slide 21 Automating Deployments with Deployer - php[world] 2018 Slide 22 Automating Deployments with Deployer - php[world] 2018 Slide 23 Automating Deployments with Deployer - php[world] 2018 Slide 24 Automating Deployments with Deployer - php[world] 2018 Slide 25 Automating Deployments with Deployer - php[world] 2018 Slide 26 Automating Deployments with Deployer - php[world] 2018 Slide 27 Automating Deployments with Deployer - php[world] 2018 Slide 28 Automating Deployments with Deployer - php[world] 2018 Slide 29 Automating Deployments with Deployer - php[world] 2018 Slide 30 Automating Deployments with Deployer - php[world] 2018 Slide 31 Automating Deployments with Deployer - php[world] 2018 Slide 32 Automating Deployments with Deployer - php[world] 2018 Slide 33 Automating Deployments with Deployer - php[world] 2018 Slide 34 Automating Deployments with Deployer - php[world] 2018 Slide 35 Automating Deployments with Deployer - php[world] 2018 Slide 36 Automating Deployments with Deployer - php[world] 2018 Slide 37 Automating Deployments with Deployer - php[world] 2018 Slide 38 Automating Deployments with Deployer - php[world] 2018 Slide 39 Automating Deployments with Deployer - php[world] 2018 Slide 40 Automating Deployments with Deployer - php[world] 2018 Slide 41 Automating Deployments with Deployer - php[world] 2018 Slide 42 Automating Deployments with Deployer - php[world] 2018 Slide 43 Automating Deployments with Deployer - php[world] 2018 Slide 44 Automating Deployments with Deployer - php[world] 2018 Slide 45 Automating Deployments with Deployer - php[world] 2018 Slide 46 Automating Deployments with Deployer - php[world] 2018 Slide 47 Automating Deployments with Deployer - php[world] 2018 Slide 48 Automating Deployments with Deployer - php[world] 2018 Slide 49 Automating Deployments with Deployer - php[world] 2018 Slide 50 Automating Deployments with Deployer - php[world] 2018 Slide 51 Automating Deployments with Deployer - php[world] 2018 Slide 52 Automating Deployments with Deployer - php[world] 2018 Slide 53 Automating Deployments with Deployer - php[world] 2018 Slide 54 Automating Deployments with Deployer - php[world] 2018 Slide 55 Automating Deployments with Deployer - php[world] 2018 Slide 56 Automating Deployments with Deployer - php[world] 2018 Slide 57 Automating Deployments with Deployer - php[world] 2018 Slide 58 Automating Deployments with Deployer - php[world] 2018 Slide 59 Automating Deployments with Deployer - php[world] 2018 Slide 60 Automating Deployments with Deployer - php[world] 2018 Slide 61 Automating Deployments with Deployer - php[world] 2018 Slide 62 Automating Deployments with Deployer - php[world] 2018 Slide 63 Automating Deployments with Deployer - php[world] 2018 Slide 64 Automating Deployments with Deployer - php[world] 2018 Slide 65 Automating Deployments with Deployer - php[world] 2018 Slide 66 Automating Deployments with Deployer - php[world] 2018 Slide 67 Automating Deployments with Deployer - php[world] 2018 Slide 68 Automating Deployments with Deployer - php[world] 2018 Slide 69 Automating Deployments with Deployer - php[world] 2018 Slide 70 Automating Deployments with Deployer - php[world] 2018 Slide 71 Automating Deployments with Deployer - php[world] 2018 Slide 72 Automating Deployments with Deployer - php[world] 2018 Slide 73 Automating Deployments with Deployer - php[world] 2018 Slide 74 Automating Deployments with Deployer - php[world] 2018 Slide 75 Automating Deployments with Deployer - php[world] 2018 Slide 76 Automating Deployments with Deployer - php[world] 2018 Slide 77 Automating Deployments with Deployer - php[world] 2018 Slide 78 Automating Deployments with Deployer - php[world] 2018 Slide 79 Automating Deployments with Deployer - php[world] 2018 Slide 80 Automating Deployments with Deployer - php[world] 2018 Slide 81 Automating Deployments with Deployer - php[world] 2018 Slide 82 Automating Deployments with Deployer - php[world] 2018 Slide 83 Automating Deployments with Deployer - php[world] 2018 Slide 84 Automating Deployments with Deployer - php[world] 2018 Slide 85 Automating Deployments with Deployer - php[world] 2018 Slide 86 Automating Deployments with Deployer - php[world] 2018 Slide 87 Automating Deployments with Deployer - php[world] 2018 Slide 88 Automating Deployments with Deployer - php[world] 2018 Slide 89
Upcoming SlideShare
What to Upload to SlideShare
Next
Download to read offline and view in fullscreen.

0 Likes

Share

Download to read offline

Automating Deployments with Deployer - php[world] 2018

Download to read offline

Have you ever botched a deployment and taken a site offline? I have - more times then I'd like to admit. What if we could completely automate the deployment process, make it lightning fast, remove most of the risk, and do it all without custom bash scripts? Better yet, what if we could use the same exact deployment process locally or trigger it via CI? All of this is possible with Deployer - a PHP-based deployment tool which supports virtually every CMS and framework! Attendees will learn the basics of Deployer, how to customize deployments to fit their needs, and how to handle situations if things go wrong.

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to like this

Automating Deployments with Deployer - php[world] 2018

  1. 1. Automating Deployments with Deployer @colinodell
  2. 2. @colinodell Colin O'Dell Lead Developer & DevOps Engineer Unleashed Technologies
  3. 3. @colinodell Frequent Deployments: • New Initiatives • Ongoing Growth & Maintenance • In-House Development Hassle-Free Deployments: • Automated • Repeatable / Reliable • Minimal Downtime • Standardized • Executable by anyone
  4. 4. @colinodell FTP / vim @colinodell
  5. 5. @colinodell git pull @colinodell
  6. 6. @colinodell bash script @colinodell
  7. 7. @colinodell bash script @colinodell
  8. 8. @colinodell bash script @colinodell
  9. 9. @colinodell capistrano
  10. 10. @colinodell capistrano
  11. 11. @colinodell docker @colinodell
  12. 12. @colinodell also docker
  13. 13. @colinodell ✔️ deployer
  14. 14. @colinodell Overview • Deployment Methodology • Getting Started • Recipes • Configuration • Hosts • Tasks • Customizations • Q&A
  15. 15. @colinodell Deployment Methodology How Deployer Works Under-The-Hood
  16. 16. @colinodell webroot
  17. 17. @colinodell releases 1 current“web root”
  18. 18. @colinodell releases 1 2 current“web root”
  19. 19. @colinodell releases 1 2 current“web root”
  20. 20. @colinodell releases 1 2 current“web root”
  21. 21. @colinodell releases 1 current releases 1 current
  22. 22. @colinodell releases 1 2 current releases 1 2 current
  23. 23. @colinodell releases 1 2 current releases 1 2 current
  24. 24. @colinodell releases 1 2 current releases 1 2 current
  25. 25. @colinodell releases 1 2 current releases 1 2 current releases 1 2 current releases 1 2 current releases 1 2 current releases 1 2 current releases 1 2 current releases 1 2 current
  26. 26. @colinodell releases 1 current shared
  27. 27. @colinodell releases 1 current web settings.php shared uploads
  28. 28. @colinodell releases 1 current web settings.php shared uploads uploads settings.php src web index.php 1
  29. 29. @colinodell releases 1 current web settings.php shared uploads uploads settings.php src web index.php 1 22
  30. 30. @colinodell releases 1 current web settings.php shared uploads uploads settings.php src web index.php 1 src web index.php 22
  31. 31. @colinodell releases 1 current web settings.php shared uploads uploads settings.php src web index.php 1 uploads settings.php src web index.php 22
  32. 32. @colinodell releases 1 current web settings.php shared uploads uploads settings.php src web index.php 1 uploads settings.php src web index.php 22
  33. 33. @colinodell releases 1 current web settings.php shared uploads 2 Shared Filesystem (NFS) releases 1 current 2
  34. 34. @colinodell Getting Started
  35. 35. @colinodell Installation Install .phar globally: Via Composer (.phar): Via Composer (source): Good for developing recipe Better once completed
  36. 36. @colinodell Initializing Deployer
  37. 37. @colinodell deploy.php
  38. 38. @colinodell
  39. 39. @colinodell “Recipes” (aka deployment script) • Configuration • Deployment settings • Hosts • Where does this deploy to • Tasks • What commands and tasks need to run
  40. 40. @colinodell Configuration • Key-value store • Settings referenced in tasks
  41. 41. @colinodell has() set() get()
  42. 42. @colinodell has() set() get() add()
  43. 43. @colinodell Hosts Define in deploy.php or separate YML file
  44. 44. @colinodell Host Connection Settings
  45. 45. @colinodell Multiple Hosts & Environments
  46. 46. @colinodell Multiple Hosts & Roles
  47. 47. @colinodell Flow
  48. 48. @colinodell
  49. 49. @colinodell
  50. 50. @colinodell releases shared .dep
  51. 51. @colinodell releases shared .dep deploy.lock
  52. 52. @colinodell releases shared .dep deploy.lock 1 1
  53. 53. @colinodell releases shared .dep deploy.lock 1 1 src web index.php composer.json
  54. 54. @colinodell releases shared .dep deploy.lock 1 src web index.php 1 uploads settings.php composer.json
  55. 55. @colinodell releases shared .dep deploy.lock 1 src web index.php 1 uploads settings.php composer.json
  56. 56. @colinodell releases shared .dep deploy.lock 1 src web index.php 1 uploads settings.php composer.json vendor
  57. 57. @colinodell releases shared .dep deploy.lock 1 src web index.php 1 uploads settings.php composer.json vendor
  58. 58. @colinodell releases shared .dep deploy.lock 1 src web index.php 1 uploads settings.php composer.json vendor current
  59. 59. @colinodell releases shared .dep deploy.lock 1 src web index.php 1 uploads settings.php composer.json vendor current
  60. 60. @colinodell releases shared .dep 1 src web index.php 1 uploads settings.php composer.json vendor current
  61. 61. @colinodell releases shared .dep 1 src web index.php 1 uploads settings.php composer.json vendor current
  62. 62. @colinodell
  63. 63. @colinodell Making Deployments
  64. 64. @colinodell Making Verbose Deployments
  65. 65. @colinodell Making Very Verbose Deployments
  66. 66. @colinodell Making Very Very Verbose Deployments
  67. 67. @colinodell Making Very Very Verbose Deployments
  68. 68. @colinodell Making Very Very Verbose Deployments
  69. 69. @colinodell Default Task Execution Host 1 Task 1 Host 2 Host 3 Task 1 Task 1 Task 2 Task 2 Task 2 Host 4 Task 1 Task 2
  70. 70. @colinodell Parallel Task Execution: --parallel Host 1 Task 1 Host 2 Host 3 Task 1 Task 1 Task 2 Task 2 Task 2 Host 4 Task 1 Task 2 Task 3 Task 3 Task 3 Task 3
  71. 71. @colinodell Parallel Task Execution: --parallel --limit=2 Host 1 Task 1 Host 2 Host 3 Task 1 Task 2 Task 2 Task 1 Host 4 Task 1 Task 2 Task 2
  72. 72. @colinodell Other Commands
  73. 73. @colinodell Other Recipes
  74. 74. @colinodell Other Recipes: WordPress
  75. 75. @colinodell Other Recipes: Laravel
  76. 76. @colinodell Other Recipes: Laravel
  77. 77. @colinodell Customization Defining custom tasks & recipes
  78. 78. @colinodell Custom Tasks
  79. 79. @colinodell Custom Tasks
  80. 80. @colinodell Custom Tasks
  81. 81. @colinodell Custom Tasks
  82. 82. @colinodell Custom Tasks
  83. 83. @colinodell Custom Tasks
  84. 84. @colinodell Custom Tasks
  85. 85. @colinodell Custom Tasks
  86. 86. @colinodell
  87. 87. @colinodell Custom Tasks
  88. 88. @colinodell Questions?
  89. 89. Feedback Appreciated! https://joind.in/talk/e3775 Learn More about Deployer: https://deployer.org/docs Slides: Twitter: @colinodell

Have you ever botched a deployment and taken a site offline? I have - more times then I'd like to admit. What if we could completely automate the deployment process, make it lightning fast, remove most of the risk, and do it all without custom bash scripts? Better yet, what if we could use the same exact deployment process locally or trigger it via CI? All of this is possible with Deployer - a PHP-based deployment tool which supports virtually every CMS and framework! Attendees will learn the basics of Deployer, how to customize deployments to fit their needs, and how to handle situations if things go wrong.

Views

Total views

438

On Slideshare

0

From embeds

0

Number of embeds

69

Actions

Downloads

7

Shares

0

Comments

0

Likes

0

×