![Page 2: Desplegando drupal con capistrano - DrupalCamp Spain 2015 · Desplegando drupal con capistrano. Somos 60 personas Más de 18 años de experiencia aquí es donde trabajo Estamos especializados](https://reader034.vdocuments.co/reader034/viewer/2022043019/5f3b64c561a64a02d7465861/html5/thumbnails/2.jpg)
Somos 60 personas
Más de 18 años de experiencia
aquí es donde trabajo
Estamos especializados en negocio digital Creamos relaciones a largo plazo
![Page 3: Desplegando drupal con capistrano - DrupalCamp Spain 2015 · Desplegando drupal con capistrano. Somos 60 personas Más de 18 años de experiencia aquí es donde trabajo Estamos especializados](https://reader034.vdocuments.co/reader034/viewer/2022043019/5f3b64c561a64a02d7465861/html5/thumbnails/3.jpg)
aquí es donde trabajamos
Podemos presumir de trabajar para y con…
![Page 4: Desplegando drupal con capistrano - DrupalCamp Spain 2015 · Desplegando drupal con capistrano. Somos 60 personas Más de 18 años de experiencia aquí es donde trabajo Estamos especializados](https://reader034.vdocuments.co/reader034/viewer/2022043019/5f3b64c561a64a02d7465861/html5/thumbnails/4.jpg)
www.museoreinasofia.es
MUSEO REINA SOFÍA
![Page 5: Desplegando drupal con capistrano - DrupalCamp Spain 2015 · Desplegando drupal con capistrano. Somos 60 personas Más de 18 años de experiencia aquí es donde trabajo Estamos especializados](https://reader034.vdocuments.co/reader034/viewer/2022043019/5f3b64c561a64a02d7465861/html5/thumbnails/5.jpg)
• Museo reina sofía
www.selfbank.es
Selfbank.es
![Page 6: Desplegando drupal con capistrano - DrupalCamp Spain 2015 · Desplegando drupal con capistrano. Somos 60 personas Más de 18 años de experiencia aquí es donde trabajo Estamos especializados](https://reader034.vdocuments.co/reader034/viewer/2022043019/5f3b64c561a64a02d7465861/html5/thumbnails/6.jpg)
www.internetacademi.com
Internetacademi.com
![Page 7: Desplegando drupal con capistrano - DrupalCamp Spain 2015 · Desplegando drupal con capistrano. Somos 60 personas Más de 18 años de experiencia aquí es donde trabajo Estamos especializados](https://reader034.vdocuments.co/reader034/viewer/2022043019/5f3b64c561a64a02d7465861/html5/thumbnails/7.jpg)
¿Cómo desplegais ahora mismo? • FTP, SFTP, SCP • SSH + GIT • Scripts de shell • Aegir • Drush • Chef, Ansible, …
![Page 8: Desplegando drupal con capistrano - DrupalCamp Spain 2015 · Desplegando drupal con capistrano. Somos 60 personas Más de 18 años de experiencia aquí es donde trabajo Estamos especializados](https://reader034.vdocuments.co/reader034/viewer/2022043019/5f3b64c561a64a02d7465861/html5/thumbnails/8.jpg)
¿Problemas? • Normalmente demasiados procesos
manuales en un despliegue – backup db – Actualizamos el código – updatedb – clear caches
• ¡No te olvides nada!
![Page 9: Desplegando drupal con capistrano - DrupalCamp Spain 2015 · Desplegando drupal con capistrano. Somos 60 personas Más de 18 años de experiencia aquí es donde trabajo Estamos especializados](https://reader034.vdocuments.co/reader034/viewer/2022043019/5f3b64c561a64a02d7465861/html5/thumbnails/9.jpg)
<n> frontales con auto-escalado + servers varnish + instancia de control
¿Lo complicamos más?
Nuestro último proyecto:
![Page 10: Desplegando drupal con capistrano - DrupalCamp Spain 2015 · Desplegando drupal con capistrano. Somos 60 personas Más de 18 años de experiencia aquí es donde trabajo Estamos especializados](https://reader034.vdocuments.co/reader034/viewer/2022043019/5f3b64c561a64a02d7465861/html5/thumbnails/10.jpg)
Llamemos al equipo A
+ +
drush y features
![Page 11: Desplegando drupal con capistrano - DrupalCamp Spain 2015 · Desplegando drupal con capistrano. Somos 60 personas Más de 18 años de experiencia aquí es donde trabajo Estamos especializados](https://reader034.vdocuments.co/reader034/viewer/2022043019/5f3b64c561a64a02d7465861/html5/thumbnails/11.jpg)
• Capistrano es una herramienta de desarrollo para desplegar aplicaciones web.
• Normalmente se instala en el equipo de los desarrolladores.
• Despliega el código desde un control de versiones (GIT) a uno o más servidores.
http://capistranorb.com
![Page 12: Desplegando drupal con capistrano - DrupalCamp Spain 2015 · Desplegando drupal con capistrano. Somos 60 personas Más de 18 años de experiencia aquí es donde trabajo Estamos especializados](https://reader034.vdocuments.co/reader034/viewer/2022043019/5f3b64c561a64a02d7465861/html5/thumbnails/12.jpg)
• Ruby! • Creada para desplegar aplicaciones RoR • Ahora ya es Cross-platform, con recetas
para multitud de frameworks • Requiere una estructura de carpetas
“especial” en los servidores
http://capistranorb.com
![Page 13: Desplegando drupal con capistrano - DrupalCamp Spain 2015 · Desplegando drupal con capistrano. Somos 60 personas Más de 18 años de experiencia aquí es donde trabajo Estamos especializados](https://reader034.vdocuments.co/reader034/viewer/2022043019/5f3b64c561a64a02d7465861/html5/thumbnails/13.jpg)
Estructura del docroot
• docroot de apache apunta a current • symlinks para ficheros compartidos
entre releases (files y settings).
![Page 14: Desplegando drupal con capistrano - DrupalCamp Spain 2015 · Desplegando drupal con capistrano. Somos 60 personas Más de 18 años de experiencia aquí es donde trabajo Estamos especializados](https://reader034.vdocuments.co/reader034/viewer/2022043019/5f3b64c561a64a02d7465861/html5/thumbnails/14.jpg)
¿cómo funciona? • En los servidores no hay que instalar nada • Capistrano ejecuta comandos remotos en los
servidores sobre ssh • > cap deploy
![Page 15: Desplegando drupal con capistrano - DrupalCamp Spain 2015 · Desplegando drupal con capistrano. Somos 60 personas Más de 18 años de experiencia aquí es donde trabajo Estamos especializados](https://reader034.vdocuments.co/reader034/viewer/2022043019/5f3b64c561a64a02d7465861/html5/thumbnails/15.jpg)
Deploy flow SSH al server
Checkout revision de GIT
Copia del código a releases/;mestamp
Se añaden los symlinks de shared a la release
Se actualiza el current symlink
![Page 16: Desplegando drupal con capistrano - DrupalCamp Spain 2015 · Desplegando drupal con capistrano. Somos 60 personas Más de 18 años de experiencia aquí es donde trabajo Estamos especializados](https://reader034.vdocuments.co/reader034/viewer/2022043019/5f3b64c561a64a02d7465861/html5/thumbnails/16.jpg)
• Extendemos el comportamiento por defecto de capistrano con hooks
Deploy flow: hooks
![Page 17: Desplegando drupal con capistrano - DrupalCamp Spain 2015 · Desplegando drupal con capistrano. Somos 60 personas Más de 18 años de experiencia aquí es donde trabajo Estamos especializados](https://reader034.vdocuments.co/reader034/viewer/2022043019/5f3b64c561a64a02d7465861/html5/thumbnails/17.jpg)
• cap deploy:rollback • Deja el symlink “current” en la realese anterior (es
interactivo) • Ojito la BD • Para obtener listado completo de comandos:
– cap -T
La cagaste Burt Lancaster
![Page 18: Desplegando drupal con capistrano - DrupalCamp Spain 2015 · Desplegando drupal con capistrano. Somos 60 personas Más de 18 años de experiencia aquí es donde trabajo Estamos especializados](https://reader034.vdocuments.co/reader034/viewer/2022043019/5f3b64c561a64a02d7465861/html5/thumbnails/18.jpg)
Drupal deploy flow
Backup DB
Checkout revision de GIT
Se añaden los symlinks de files y seCngs
drush updb drush fra -‐-‐force
drush cc all Tag GIT
![Page 19: Desplegando drupal con capistrano - DrupalCamp Spain 2015 · Desplegando drupal con capistrano. Somos 60 personas Más de 18 años de experiencia aquí es donde trabajo Estamos especializados](https://reader034.vdocuments.co/reader034/viewer/2022043019/5f3b64c561a64a02d7465861/html5/thumbnails/19.jpg)
Una ejecución completa
![Page 20: Desplegando drupal con capistrano - DrupalCamp Spain 2015 · Desplegando drupal con capistrano. Somos 60 personas Más de 18 años de experiencia aquí es donde trabajo Estamos especializados](https://reader034.vdocuments.co/reader034/viewer/2022043019/5f3b64c561a64a02d7465861/html5/thumbnails/20.jpg)
Una ejecución completa
![Page 21: Desplegando drupal con capistrano - DrupalCamp Spain 2015 · Desplegando drupal con capistrano. Somos 60 personas Más de 18 años de experiencia aquí es donde trabajo Estamos especializados](https://reader034.vdocuments.co/reader034/viewer/2022043019/5f3b64c561a64a02d7465861/html5/thumbnails/21.jpg)
Talk is cheap show me the code!
Configuración general en deploy.rb
![Page 22: Desplegando drupal con capistrano - DrupalCamp Spain 2015 · Desplegando drupal con capistrano. Somos 60 personas Más de 18 años de experiencia aquí es donde trabajo Estamos especializados](https://reader034.vdocuments.co/reader034/viewer/2022043019/5f3b64c561a64a02d7465861/html5/thumbnails/22.jpg)
Multi-stage • Podemos definir diferentes entornos de despliegue • Normalmente configuramos las IPs de los servers,
rama de GIT, diferente docroot, … • > cap <entorno> deploy
![Page 23: Desplegando drupal con capistrano - DrupalCamp Spain 2015 · Desplegando drupal con capistrano. Somos 60 personas Más de 18 años de experiencia aquí es donde trabajo Estamos especializados](https://reader034.vdocuments.co/reader034/viewer/2022043019/5f3b64c561a64a02d7465861/html5/thumbnails/23.jpg)
Server roles • En entornos multiservidor algunos servidores son
diferentes: db, master, slave, etc…
![Page 24: Desplegando drupal con capistrano - DrupalCamp Spain 2015 · Desplegando drupal con capistrano. Somos 60 personas Más de 18 años de experiencia aquí es donde trabajo Estamos especializados](https://reader034.vdocuments.co/reader034/viewer/2022043019/5f3b64c561a64a02d7465861/html5/thumbnails/24.jpg)
Server roles: ejecución deploy
![Page 25: Desplegando drupal con capistrano - DrupalCamp Spain 2015 · Desplegando drupal con capistrano. Somos 60 personas Más de 18 años de experiencia aquí es donde trabajo Estamos especializados](https://reader034.vdocuments.co/reader034/viewer/2022043019/5f3b64c561a64a02d7465861/html5/thumbnails/25.jpg)
Tasks para Drupal: build
![Page 26: Desplegando drupal con capistrano - DrupalCamp Spain 2015 · Desplegando drupal con capistrano. Somos 60 personas Más de 18 años de experiencia aquí es donde trabajo Estamos especializados](https://reader034.vdocuments.co/reader034/viewer/2022043019/5f3b64c561a64a02d7465861/html5/thumbnails/26.jpg)
Tasks para Drupal: drush
![Page 27: Desplegando drupal con capistrano - DrupalCamp Spain 2015 · Desplegando drupal con capistrano. Somos 60 personas Más de 18 años de experiencia aquí es donde trabajo Estamos especializados](https://reader034.vdocuments.co/reader034/viewer/2022043019/5f3b64c561a64a02d7465861/html5/thumbnails/27.jpg)
Tasks para Drupal: cache
![Page 28: Desplegando drupal con capistrano - DrupalCamp Spain 2015 · Desplegando drupal con capistrano. Somos 60 personas Más de 18 años de experiencia aquí es donde trabajo Estamos especializados](https://reader034.vdocuments.co/reader034/viewer/2022043019/5f3b64c561a64a02d7465861/html5/thumbnails/28.jpg)
Tasks para Drupal: rsync
![Page 29: Desplegando drupal con capistrano - DrupalCamp Spain 2015 · Desplegando drupal con capistrano. Somos 60 personas Más de 18 años de experiencia aquí es donde trabajo Estamos especializados](https://reader034.vdocuments.co/reader034/viewer/2022043019/5f3b64c561a64a02d7465861/html5/thumbnails/29.jpg)
• http://capistranorb.com • Mis recetas:
• https://github.com/davidgil/capistrano-drupal • Basadas en:
• https://github.com/mordonez/capistranorb-drupal • https://github.com/generoi/capistrano-tasks
• Lo mismo con Ansible • http://blog.versioneye.com/2014/09/24/rebuilding-capistrano-like-
deployment-with-ansible/
• GIT branching model • http://nvie.com/posts/a-successful-git-branching-model/
Referencias