SlideShare una empresa de Scribd logo
david.gil@biko2.com / @david_gil_biko2
 #DrupalcampSpain2015
Desplegando drupal con
capistrano
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
aquí  es  donde  trabajamos  
Podemos presumir de trabajar para y con…
www.museoreinasofia.es
MUSEO REINA SOFÍA
•  Museo reina sofía
www.selfbank.es
Selfbank.es
www.internetacademi.com
Internetacademi.com
¿Cómo  desplegais  ahora  mismo?  
•  FTP, SFTP, SCP
•  SSH + GIT
•  Scripts de shell
•  Aegir
•  Drush
•  Chef, Ansible, …
¿Problemas?  
•  Normalmente demasiados procesos
manuales en un despliegue
– backup db
– Actualizamos el código
– updatedb
– clear caches
•  ¡No te olvides nada!
<n> frontales con auto-escalado + servers varnish
+ instancia de control
¿Lo  complicamos  más?    
  
Nuestro  último  proyecto:  
Llamemos  al  equipo  A  
+
+drush y features
•  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
•  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
Estructura  del  docroot
•  docroot de apache apunta a current
•  symlinks para ficheros compartidos
entre releases (files y settings).
¿cómo  funciona?  
•  En los servidores no hay que instalar nada
•  Capistrano ejecuta comandos remotos en los
servidores sobre ssh
•  > cap deploy
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	
  
•  Extendemos el comportamiento por defecto de
capistrano con hooks
Deploy  flow:  hooks
•  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
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	
  
Una  ejecución  completa
Una  ejecución  completa
Talk  is  cheap
show  me  the  code!
Configuración
general en
deploy.rb
Multi-­stage  
•  Podemos definir diferentes entornos de despliegue
•  Normalmente configuramos las IPs de los servers,
rama de GIT, diferente docroot, …
•  > cap <entorno> deploy
Server  roles  
•  En entornos multiservidor algunos servidores son
diferentes: db, master, slave, etc…
Server  roles:  ejecución  deploy  
Tasks  para  Drupal:  build  
Tasks  para  Drupal:  drush  
Tasks  para  Drupal:  cache  
Tasks  para  Drupal:  rsync  
•  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  
¡Muchas  gracias!  
David gil
david.gil@biko2.com
http://www.biko2.com
@david_gil_biko2

Más contenido relacionado

PDF
Desplegando Drupal con Capistrano
PDF
Casper JS - Asegurando la calidad en front-end Drupal
PDF
Escalabilidad y alto rendimiento con Symfony2
KEY
Introducción a NodeJS
PDF
Dev ops infraestructura agil con open source
PDF
DevOps & Infraestructura como código: Promesas Rotas
PDF
Introducción a NodeJS
PPTX
Introduccion a Ansible
Desplegando Drupal con Capistrano
Casper JS - Asegurando la calidad en front-end Drupal
Escalabilidad y alto rendimiento con Symfony2
Introducción a NodeJS
Dev ops infraestructura agil con open source
DevOps & Infraestructura como código: Promesas Rotas
Introducción a NodeJS
Introduccion a Ansible

La actualidad más candente (20)

PPTX
ASP.NET 5 en Linux y Mac OS X: herramientas e integración
PPT
Nodejs.introduccion
PDF
Manejo de packages en Kubernetes con Helm
PDF
Optimización Servidor Web
PPTX
Nuevo QNAP SO QTS 4.2 en Español
PPTX
Introduccion a Nodejs
PPTX
Tools for High Availability
PPTX
Introduccion a Node.js
PDF
Terraspace, the definitive terraform framework
PPTX
PHP Conference Argentina 2014
PDF
Docker en el entorno de desarrollo
PDF
Fury - Docker Meetup
PDF
Introducción a Node.js
ODP
Ambientes de desarrollo y producción. Mejores prácticas con ansible
PPTX
ONE Xperience at Facultat d'Informàtica de Barcelona
ODP
Ansible para Gestión de la configuración y Automatización
PPTX
Ipconfig
PDF
Curso node.js
PDF
Introducción a Node.js
PPT
Drupal workflow
ASP.NET 5 en Linux y Mac OS X: herramientas e integración
Nodejs.introduccion
Manejo de packages en Kubernetes con Helm
Optimización Servidor Web
Nuevo QNAP SO QTS 4.2 en Español
Introduccion a Nodejs
Tools for High Availability
Introduccion a Node.js
Terraspace, the definitive terraform framework
PHP Conference Argentina 2014
Docker en el entorno de desarrollo
Fury - Docker Meetup
Introducción a Node.js
Ambientes de desarrollo y producción. Mejores prácticas con ansible
ONE Xperience at Facultat d'Informàtica de Barcelona
Ansible para Gestión de la configuración y Automatización
Ipconfig
Curso node.js
Introducción a Node.js
Drupal workflow
Publicidad

Similar a Capistrano drupalcamp-jerez-2015 (20)

PPTX
Drupal 8: deploy capistrano y gestión de la configuración
ODP
Taller de Capistrano
PDF
Deployer Despliegue rápido de apps
PDF
Deployer - despliegue rápido de apps
PDF
Despliegue de aplicaciones PHP
ODP
Desplegando Proyectos Symfony2 con Capistrano-Capifony y Git
PDF
PHP Conference Argentina 2013 - Deployment de aplicaciones PHP a prueba de balas
PDF
Deployer PHP. Presentación para #PHPSevilla
PDF
Continuous Delivery Un caso de estudio
PDF
Continuous Delivery Un caso de estudio
PDF
Magallanes, Herramienta de despliegue PHP sencilla y poderosa
PDF
Desplegando código con Phing, PHPunit, Coder y Jenkins
PDF
Rails Against The Machine
PDF
Herramientas de trabajo para entorno LAMP
PDF
03 de Marzo 2015: Andrés Villarreal - Herramientas del Desarrollador Moderno
PPTX
BancaCivica.es: Un caso de éxito Drupal en el sector bancario
PPTX
Migrando Rails Apps entre Cloud y Bare Metal Servers
PDF
La Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
PDF
Tech Meetup: Jenkins, the moody buttler
Drupal 8: deploy capistrano y gestión de la configuración
Taller de Capistrano
Deployer Despliegue rápido de apps
Deployer - despliegue rápido de apps
Despliegue de aplicaciones PHP
Desplegando Proyectos Symfony2 con Capistrano-Capifony y Git
PHP Conference Argentina 2013 - Deployment de aplicaciones PHP a prueba de balas
Deployer PHP. Presentación para #PHPSevilla
Continuous Delivery Un caso de estudio
Continuous Delivery Un caso de estudio
Magallanes, Herramienta de despliegue PHP sencilla y poderosa
Desplegando código con Phing, PHPunit, Coder y Jenkins
Rails Against The Machine
Herramientas de trabajo para entorno LAMP
03 de Marzo 2015: Andrés Villarreal - Herramientas del Desarrollador Moderno
BancaCivica.es: Un caso de éxito Drupal en el sector bancario
Migrando Rails Apps entre Cloud y Bare Metal Servers
La Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
Tech Meetup: Jenkins, the moody buttler
Publicidad

Último (6)

DOCX
trabajo programacion.docxxdxxxddxdxxdxdxxxdxxdxdxd
PPTX
Conceptos basicos de Base de Datos y sus propiedades
PPTX
sistemas de informacion.................
PPTX
Derechos_de_Autor_y_Creative_Commons.pptx
PDF
Su punto de partida en la IA: Microsoft 365 Copilot Chat
PDF
AutoCAD Herramientas para el futuro, Juan Fandiño
trabajo programacion.docxxdxxxddxdxxdxdxxxdxxdxdxd
Conceptos basicos de Base de Datos y sus propiedades
sistemas de informacion.................
Derechos_de_Autor_y_Creative_Commons.pptx
Su punto de partida en la IA: Microsoft 365 Copilot Chat
AutoCAD Herramientas para el futuro, Juan Fandiño

Capistrano drupalcamp-jerez-2015