SlideShare una empresa de Scribd logo
1 de 19
Automatización de
Proyectos con Gradle
/*
O por que usar otra herramienta para automatizar
tus builds
*/
About me...
Geek
Agilista
Craftsman
Mentor y
Aprendiz
Java developer
@Grubhart
edsonchavez@gmail.com
https://github.com/Grubhart
http://www.slideshare.net/grubhart/
Por que automatizar el desarrollo
• Evitar intervención Manual
• Builds repetibles
• Builds portables
• En mi maquina si funciona
• Con mi ide si funciona
• Deploys de nivel “Furia de Titanes”
(Pero la de los 80… la buena)
Entorno QAUAT
Y El día del DeployProduccion
Tú
QAPM’s y BA’s
Y Tus Herramientas?
Tipos de build
En Demanda
Activados por Evento
Programados
Opciones Existentes
Flexibilidad Convencion
Ant Build File
Puntos a Mejorar
• Uso de XML
• Logica en el propio xml
• Demasiada libertad => caos
• Sin Gestión de Dependencias (inicialmente)
Maven
Puntos a Mejorar
• Uso de XML
• Estructura estándar pero puede llevar a
restricciones
• No es facil escribir extensiones
Gradle
Algunos Puntos:
• Estandar pero flexible
• Expresivo declarativo y mantenible
• Facil de usar y que permita extensiones
• Soporte de gestión de dependencias
• Builds escalables y de alta performance
• Que sea facil para migrar
DSL
• Domain Specific Language
• Especificacion programable
• Extensible
Y ahora la parte practica
https://github.com/Grubhart/
automatizando_proyectos_gradle.git
Recursos
http://www.gradle.org/
https://github.com/Grubhart/automatizando_proyectos_gradle
https://github.com/bmuschko/gradle-in-action-source
/*
(o la parte donde digo que todo esto lo puedes aprender por tu cuenta)
*/

Más contenido relacionado

La actualidad más candente

SpringIO 2012 Madrid-Escalabilidad con Grails
SpringIO 2012 Madrid-Escalabilidad con GrailsSpringIO 2012 Madrid-Escalabilidad con Grails
SpringIO 2012 Madrid-Escalabilidad con GrailsDomingo Suarez Torres
 
DotNet 2019 | Alberto Varela - Infraestructura como código en Azure
DotNet 2019 | Alberto Varela - Infraestructura como código en AzureDotNet 2019 | Alberto Varela - Infraestructura como código en Azure
DotNet 2019 | Alberto Varela - Infraestructura como código en AzurePlain Concepts
 
SecDevOps - La seguridad en el desarrollo
SecDevOps - La seguridad en el desarrolloSecDevOps - La seguridad en el desarrollo
SecDevOps - La seguridad en el desarrolloGlobe Testing
 
Concurrencia y asincronía: Lenguajes, modelos y rendimiento: GDG Toledo Enero...
Concurrencia y asincronía: Lenguajes, modelos y rendimiento: GDG Toledo Enero...Concurrencia y asincronía: Lenguajes, modelos y rendimiento: GDG Toledo Enero...
Concurrencia y asincronía: Lenguajes, modelos y rendimiento: GDG Toledo Enero...Micael Gallego
 
Gestión Agil de Entornos de Despliegue en la Nube
Gestión Agil de Entornos de Despliegue en la NubeGestión Agil de Entornos de Despliegue en la Nube
Gestión Agil de Entornos de Despliegue en la NubeErnesto Cardenas Cangahuala
 

La actualidad más candente (7)

SpringIO 2012 Madrid-Escalabilidad con Grails
SpringIO 2012 Madrid-Escalabilidad con GrailsSpringIO 2012 Madrid-Escalabilidad con Grails
SpringIO 2012 Madrid-Escalabilidad con Grails
 
Testing Ruby on Rails (spanish)
Testing Ruby on Rails (spanish)Testing Ruby on Rails (spanish)
Testing Ruby on Rails (spanish)
 
DotNet 2019 | Alberto Varela - Infraestructura como código en Azure
DotNet 2019 | Alberto Varela - Infraestructura como código en AzureDotNet 2019 | Alberto Varela - Infraestructura como código en Azure
DotNet 2019 | Alberto Varela - Infraestructura como código en Azure
 
SecDevOps - La seguridad en el desarrollo
SecDevOps - La seguridad en el desarrolloSecDevOps - La seguridad en el desarrollo
SecDevOps - La seguridad en el desarrollo
 
Maven
MavenMaven
Maven
 
Concurrencia y asincronía: Lenguajes, modelos y rendimiento: GDG Toledo Enero...
Concurrencia y asincronía: Lenguajes, modelos y rendimiento: GDG Toledo Enero...Concurrencia y asincronía: Lenguajes, modelos y rendimiento: GDG Toledo Enero...
Concurrencia y asincronía: Lenguajes, modelos y rendimiento: GDG Toledo Enero...
 
Gestión Agil de Entornos de Despliegue en la Nube
Gestión Agil de Entornos de Despliegue en la NubeGestión Agil de Entornos de Despliegue en la Nube
Gestión Agil de Entornos de Despliegue en la Nube
 

Destacado

Conferencia Rails: Integracion Continua Y Rails
Conferencia Rails: Integracion Continua Y RailsConferencia Rails: Integracion Continua Y Rails
Conferencia Rails: Integracion Continua Y RailsDavid Calavera
 
Introducción a Ganglia
Introducción a GangliaIntroducción a Ganglia
Introducción a GangliaDardo Valdez
 
BDD: Descubriendo qué requiere realmente tu cliente
BDD: Descubriendo qué requiere realmente tu clienteBDD: Descubriendo qué requiere realmente tu cliente
BDD: Descubriendo qué requiere realmente tu clienteJorge Gamba
 
Software Debt: Qué Es y Cómo Gestionarlo Holísticamente
Software Debt: Qué Es y Cómo Gestionarlo HolísticamenteSoftware Debt: Qué Es y Cómo Gestionarlo Holísticamente
Software Debt: Qué Es y Cómo Gestionarlo HolísticamenteAngel Nuñez
 
Alta disponibilidad con MySQL
Alta disponibilidad con MySQLAlta disponibilidad con MySQL
Alta disponibilidad con MySQLDennis Cohn
 
Escalabilidad y alto rendimiento con Symfony2
Escalabilidad y alto rendimiento con Symfony2Escalabilidad y alto rendimiento con Symfony2
Escalabilidad y alto rendimiento con Symfony2Ricard Clau
 
Continous Delivering a PHP application
Continous Delivering a PHP applicationContinous Delivering a PHP application
Continous Delivering a PHP applicationJavier López
 
Red Cross Capital Campaign
Red Cross Capital CampaignRed Cross Capital Campaign
Red Cross Capital CampaignGregory G. King
 
Poster 2nd International HR Conference Barcelona
Poster 2nd International HR Conference BarcelonaPoster 2nd International HR Conference Barcelona
Poster 2nd International HR Conference BarcelonaAdvantage Consultores
 
Hollister
HollisterHollister
Hollisterfer_gon
 
Protection and Management of Copyright in Thailand: Current Practice and Chal...
Protection and Management of Copyright in Thailand: Current Practice and Chal...Protection and Management of Copyright in Thailand: Current Practice and Chal...
Protection and Management of Copyright in Thailand: Current Practice and Chal...supatchara
 
Informe glifosato unl_f2
Informe glifosato unl_f2Informe glifosato unl_f2
Informe glifosato unl_f2hbeldo
 
Chhatisgarh public helth and medical education
Chhatisgarh public helth and medical educationChhatisgarh public helth and medical education
Chhatisgarh public helth and medical educationVijjaysharma
 
Consejos pacientes hipertensos
Consejos pacientes hipertensosConsejos pacientes hipertensos
Consejos pacientes hipertensosCafeSalud
 

Destacado (20)

Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Conferencia Rails: Integracion Continua Y Rails
Conferencia Rails: Integracion Continua Y RailsConferencia Rails: Integracion Continua Y Rails
Conferencia Rails: Integracion Continua Y Rails
 
Introducción a Ganglia
Introducción a GangliaIntroducción a Ganglia
Introducción a Ganglia
 
BDD: Descubriendo qué requiere realmente tu cliente
BDD: Descubriendo qué requiere realmente tu clienteBDD: Descubriendo qué requiere realmente tu cliente
BDD: Descubriendo qué requiere realmente tu cliente
 
Introducción a LDAP
Introducción a LDAPIntroducción a LDAP
Introducción a LDAP
 
Software Debt: Qué Es y Cómo Gestionarlo Holísticamente
Software Debt: Qué Es y Cómo Gestionarlo HolísticamenteSoftware Debt: Qué Es y Cómo Gestionarlo Holísticamente
Software Debt: Qué Es y Cómo Gestionarlo Holísticamente
 
Alta disponibilidad con MySQL
Alta disponibilidad con MySQLAlta disponibilidad con MySQL
Alta disponibilidad con MySQL
 
OAUTH introducción y entretenida explicación.
OAUTH introducción y entretenida explicación.OAUTH introducción y entretenida explicación.
OAUTH introducción y entretenida explicación.
 
Escalabilidad y alto rendimiento con Symfony2
Escalabilidad y alto rendimiento con Symfony2Escalabilidad y alto rendimiento con Symfony2
Escalabilidad y alto rendimiento con Symfony2
 
Conferencia Monitoreo de Servidores con Nagios
Conferencia Monitoreo de Servidores con NagiosConferencia Monitoreo de Servidores con Nagios
Conferencia Monitoreo de Servidores con Nagios
 
TDD with phpspec2
TDD with phpspec2TDD with phpspec2
TDD with phpspec2
 
Continous Delivering a PHP application
Continous Delivering a PHP applicationContinous Delivering a PHP application
Continous Delivering a PHP application
 
Red Cross Capital Campaign
Red Cross Capital CampaignRed Cross Capital Campaign
Red Cross Capital Campaign
 
Tio memo apuntes comparsas
Tio memo apuntes  comparsasTio memo apuntes  comparsas
Tio memo apuntes comparsas
 
Poster 2nd International HR Conference Barcelona
Poster 2nd International HR Conference BarcelonaPoster 2nd International HR Conference Barcelona
Poster 2nd International HR Conference Barcelona
 
Hollister
HollisterHollister
Hollister
 
Protection and Management of Copyright in Thailand: Current Practice and Chal...
Protection and Management of Copyright in Thailand: Current Practice and Chal...Protection and Management of Copyright in Thailand: Current Practice and Chal...
Protection and Management of Copyright in Thailand: Current Practice and Chal...
 
Informe glifosato unl_f2
Informe glifosato unl_f2Informe glifosato unl_f2
Informe glifosato unl_f2
 
Chhatisgarh public helth and medical education
Chhatisgarh public helth and medical educationChhatisgarh public helth and medical education
Chhatisgarh public helth and medical education
 
Consejos pacientes hipertensos
Consejos pacientes hipertensosConsejos pacientes hipertensos
Consejos pacientes hipertensos
 

Similar a Automatizacion de proyectos con gradle

Drupal 7 para sitios de alto rendimiento y alta disponibilidad
Drupal 7 para sitios de alto rendimiento y alta disponibilidadDrupal 7 para sitios de alto rendimiento y alta disponibilidad
Drupal 7 para sitios de alto rendimiento y alta disponibilidadIván Campaña Naranjo
 
Los mejores trucos y prácticas para configurar drupal
Los mejores trucos y prácticas para configurar drupalLos mejores trucos y prácticas para configurar drupal
Los mejores trucos y prácticas para configurar drupalSiteGround España
 
Trabajo avila
Trabajo avilaTrabajo avila
Trabajo avilaadezhiz
 
Gradle: BUILD SUCCESSFUL – CLOJUG 23 MAYO 2015
Gradle: BUILD SUCCESSFUL – CLOJUG 23 MAYO 2015Gradle: BUILD SUCCESSFUL – CLOJUG 23 MAYO 2015
Gradle: BUILD SUCCESSFUL – CLOJUG 23 MAYO 2015Alexander Mera
 
Java janner
Java   jannerJava   janner
Java jannersena
 
Automatización de tareas con Ansible
Automatización de tareas con AnsibleAutomatización de tareas con Ansible
Automatización de tareas con AnsibleMario IC
 
Probando aplicaciones AngularJS
Probando aplicaciones AngularJSProbando aplicaciones AngularJS
Probando aplicaciones AngularJSRodrigo Pimentel
 
Webinar: Groovy y la producttividad para el desarrollador Java
Webinar: Groovy y la producttividad para el desarrollador JavaWebinar: Groovy y la producttividad para el desarrollador Java
Webinar: Groovy y la producttividad para el desarrollador JavaDomingo Suarez Torres
 
Introducción a JAVA.
Introducción a JAVA.Introducción a JAVA.
Introducción a JAVA.guestdf1874
 
Gwt seminario java_hispano_manolocarrasco
Gwt seminario java_hispano_manolocarrascoGwt seminario java_hispano_manolocarrasco
Gwt seminario java_hispano_manolocarrascoManuel Carrasco Moñino
 
Uso de tecnologías modernas en joomla
Uso de tecnologías modernas en joomlaUso de tecnologías modernas en joomla
Uso de tecnologías modernas en joomlaRoberto Segura
 
Java es-un-lenguaje
Java es-un-lenguajeJava es-un-lenguaje
Java es-un-lenguajewalter1996pg
 
GraalVM - MálagaJUG 2018-11-29
GraalVM - MálagaJUG 2018-11-29GraalVM - MálagaJUG 2018-11-29
GraalVM - MálagaJUG 2018-11-29Jorge Hidalgo
 
Mi lenguaje de programación de preferencia
Mi lenguaje de programación de preferenciaMi lenguaje de programación de preferencia
Mi lenguaje de programación de preferenciaglfloresgilberto
 
Kotlin: El despertar de la fuerza!
Kotlin: El despertar de la fuerza!Kotlin: El despertar de la fuerza!
Kotlin: El despertar de la fuerza!Marco Avendaño
 

Similar a Automatizacion de proyectos con gradle (20)

No quiero vuestra basura en Android
No quiero vuestra basura en AndroidNo quiero vuestra basura en Android
No quiero vuestra basura en Android
 
Drupal 7 para sitios de alto rendimiento y alta disponibilidad
Drupal 7 para sitios de alto rendimiento y alta disponibilidadDrupal 7 para sitios de alto rendimiento y alta disponibilidad
Drupal 7 para sitios de alto rendimiento y alta disponibilidad
 
Los mejores trucos y prácticas para configurar drupal
Los mejores trucos y prácticas para configurar drupalLos mejores trucos y prácticas para configurar drupal
Los mejores trucos y prácticas para configurar drupal
 
Trabajo avila
Trabajo avilaTrabajo avila
Trabajo avila
 
Gradle: BUILD SUCCESSFUL – CLOJUG 23 MAYO 2015
Gradle: BUILD SUCCESSFUL – CLOJUG 23 MAYO 2015Gradle: BUILD SUCCESSFUL – CLOJUG 23 MAYO 2015
Gradle: BUILD SUCCESSFUL – CLOJUG 23 MAYO 2015
 
Java janner
Java   jannerJava   janner
Java janner
 
Automatización de tareas con Ansible
Automatización de tareas con AnsibleAutomatización de tareas con Ansible
Automatización de tareas con Ansible
 
Probando aplicaciones AngularJS
Probando aplicaciones AngularJSProbando aplicaciones AngularJS
Probando aplicaciones AngularJS
 
Webinar: Groovy y la producttividad para el desarrollador Java
Webinar: Groovy y la producttividad para el desarrollador JavaWebinar: Groovy y la producttividad para el desarrollador Java
Webinar: Groovy y la producttividad para el desarrollador Java
 
Introducción a JAVA.
Introducción a JAVA.Introducción a JAVA.
Introducción a JAVA.
 
Grails en SG08
Grails en SG08Grails en SG08
Grails en SG08
 
Gwt seminario java_hispano_manolocarrasco
Gwt seminario java_hispano_manolocarrascoGwt seminario java_hispano_manolocarrasco
Gwt seminario java_hispano_manolocarrasco
 
Gwt I - entendiendo gwt
Gwt I - entendiendo gwtGwt I - entendiendo gwt
Gwt I - entendiendo gwt
 
Uso de tecnologías modernas en joomla
Uso de tecnologías modernas en joomlaUso de tecnologías modernas en joomla
Uso de tecnologías modernas en joomla
 
Java es-un-lenguaje
Java es-un-lenguajeJava es-un-lenguaje
Java es-un-lenguaje
 
GraalVM - MálagaJUG 2018-11-29
GraalVM - MálagaJUG 2018-11-29GraalVM - MálagaJUG 2018-11-29
GraalVM - MálagaJUG 2018-11-29
 
Git nivel samurai
Git nivel samuraiGit nivel samurai
Git nivel samurai
 
Mi lenguaje de programación de preferencia
Mi lenguaje de programación de preferenciaMi lenguaje de programación de preferencia
Mi lenguaje de programación de preferencia
 
Kotlin: El despertar de la fuerza!
Kotlin: El despertar de la fuerza!Kotlin: El despertar de la fuerza!
Kotlin: El despertar de la fuerza!
 
De cero a multinacional con Grails y EC2
De cero a multinacional con Grails y EC2De cero a multinacional con Grails y EC2
De cero a multinacional con Grails y EC2
 

Más de Edson Chávez Montaño (13)

Hablemos de oauth2 v3
Hablemos de oauth2 v3Hablemos de oauth2 v3
Hablemos de oauth2 v3
 
Baby steps to tdd v3
Baby steps to tdd v3Baby steps to tdd v3
Baby steps to tdd v3
 
Hablemos de oauth2 v2
Hablemos de oauth2 v2Hablemos de oauth2 v2
Hablemos de oauth2 v2
 
Que hemos aprendido en 5 anos de devops version agile peru
Que hemos aprendido en 5 anos de devops   version agile peruQue hemos aprendido en 5 anos de devops   version agile peru
Que hemos aprendido en 5 anos de devops version agile peru
 
Hablemos de CI
Hablemos de CIHablemos de CI
Hablemos de CI
 
Polinizando organizaciones
Polinizando organizacionesPolinizando organizaciones
Polinizando organizaciones
 
Hablemos de oauth2
Hablemos de oauth2Hablemos de oauth2
Hablemos de oauth2
 
Introducción a Scrum
Introducción a ScrumIntroducción a Scrum
Introducción a Scrum
 
Builds complejos con Pipeline Plugin
Builds complejos con Pipeline PluginBuilds complejos con Pipeline Plugin
Builds complejos con Pipeline Plugin
 
Baby steps to tdd
Baby steps to tddBaby steps to tdd
Baby steps to tdd
 
Software Craftsmanship
Software CraftsmanshipSoftware Craftsmanship
Software Craftsmanship
 
Clean Code - Coder
Clean Code - CoderClean Code - Coder
Clean Code - Coder
 
InSpring security
InSpring securityInSpring security
InSpring security
 

Automatizacion de proyectos con gradle