Jenkins - don't break my builds! is an introductory talk in spanish I gave at the PHP Conference 2013 in Argentina. I spoke about how I met Contintinuous Integration at Google in 2005, and how my experience has been since. I also gave tips on how to start using it in projects that have no "integration" to speak of (such as most PHP projects).
21. A mano:
1. Verificar que no es viernes a la tarde
2. Instalo el código en una instancia de prueba o staging
3. Ejecuto tests automáticos y manuales
4. Si algo salió mal, averiguó quién lo rompió o lo intento arreglar
5. Instalo de nuevo el código en prueba o staging
6. Entro al servidor de producción
7. Bajo el servicio del app server
8. Copio el código nuevo
9. Verifico que todos los datos que estaban almacenados en el
disco del server se hayan copiado bien
10. Me conecto a la base de datos
11. Aplico los cambios en la base de datos
12. Reinicio el servicio del app server
13. Verifico mínimamente que siga andando todo
14. Avisar que hay una nueva versión en producción por las dudas
de que se haya roto algo
30. Instalación
● Bajar un paquete para tu entorno
○ Instalador para Windows
○ Instalador para Mac
○ Repositorios de Debian o RPM
● o usar CloudBees (JaaS)
○ 300 build minutes por mes gratis
44. No más:
● Olvidos en paquetes o deployments
● Hotfixes en producción (release, upgrade)
● Me da error de sintaxis
● ¿Quién hizo este release?
● No se puede hacer porque no está X
● ¿Cómo se hacía el paquete X?
● No tengo el entorno X que hace falta
● No sabía que hacía falta el entorno X
● No está el paquete para X
51. Para arrancar:
● Instalarlo lleva 5 minutos
● Empezar de a poco
● PHPUnit o cualquier test automático son
candidatos cantados a un primer build.
● Builds de juguete (PHPCS, PHPMD)
● En aplicaciones SaaS, automatizar la
generación y/o actualización de entornos
de testing y/o staging.