Rafael Pedrola - Departamento FrontEnd Indra
Desarrollador Drupal, Js ...
http://monchacos.com/monchacos/ci
Indice
Objetivo
Integración Continua
Inspección continua
Las herramientas
Demo
Agradecimientos
http://monchacos.com/monchacos/ci
Objetivo
Ofrecer una solución rápida para aquellos
que no han adoptado esta metodología en
su trabajo
¿Que problemas hay?
http://monchacos.com/monchacos/ci
Desarrollos liberados
cada mucho tiempo
Incompatibilidades
Problemas de entorno
Baja calidad
http://monchacos.com/monchacos/ci
Integración Continua
Es la iteración de un proceso que consiste en
la evaluación del estado general de la
aplicación mediantes testeo y herramientas de
chequeo de código y su posterior corrección.
http://monchacos.com/monchacos/ci
Inspección Continua
La inspección continua va muy ligada a la
integración continua.
Se basa en la ejecución de Code Reviews
frecuentemente, para detectar puntos de
refactorización.
http://monchacos.com/monchacos/ci
Integración Continua
Pequeños esfuerzos que combinados a lo largo
del tiempo dan un producto estable y de
calidad
Integración Continua
http://monchacos.com/monchacos/ci
http://monchacos.com/monchacos/ci
Integración Continua
Commits más frecuentes
http://monchacos.com/monchacos/ci
Integración Continua
Desarrollo con tests unitarios
Simpletest :
DrupalWebTestCase
DrupalUnitTestCase
Integración Continua
http://monchacos.com/monchacos/ci
El equipo debe atender los resultados erróneos
http://monchacos.com/monchacos/ci
Integración Continua
Testeo en entorno similar a producción
http://monchacos.com/monchacos/ci
Integración Continua
Automatización de tareas
http://monchacos.com/monchacos/ci
Integración Continua
Beneficios:
● Detección temprana de errores
● Evaluación del código generado += Calidad
● Confianza en la aplicación gracias a los test
● Conocimiento del estado general de la aplic.
● Mayor rapidez de despliegue
● Evita problemas de última hora
Mejora
http://monchacos.com/monchacos/ci
http://monchacos.com/monchacos/ci
La automatización
Los desarrolladores no pueden testar el estado
general de la aplicación después de cada
commit.
No se pueden estar haciendo code reviews
después de cada commit.
Esto lleva tiempo, algo difícil de conseguir.
Las herramientas
http://monchacos.com/monchacos/ci
Las herramientas
http://monchacos.com/monchacos/ci
Jenkins
Phing
Drush
Simpletest
PHPMD
PHPCPD
PHPLOC
PHPDocumentor
PHPCodesniffer
Coder
JsLint
CssLint
CI server, invoca a Phing y lee los
resultados xml para mostrarlos. Notifica.
Invoca al resto de tareas
Línea de comandos para Drupal
Testing de Drupal
Detección código problemático
Detección código duplicado
Analiza un proyecto PHP
Genera documentación de un proyecto
PHP
Mira la métrica del código
Módulo de drupal para métrica del código
Verifica código JS
Verifica CSS
http://monchacos.com/monchacos/ci
Phing Drupal Template
Ejemplo de código:
<target name="phpcpd"
description="Generate pmd-cpd.xml using phpcpd"
depends="init">
<phpcpd>
<fileset refid="src.php.custom" />
<formatter type="pmd" outfile="${project.logdir}/pmd-cpd.xml"/>
</phpcpd>
</target>
Comentarios de: Drupal e integración continua (0)
No hay comentarios