martes, 15 de enero de 2019

El gran Jenkins - automatización

Veremos en términos rápidos y generales algunas características básicas de Jenkins, principalmente lo que debemos saber sobre esta gran herramienta para dar una breve descripción para enseguida ir directo a trabajar con ella, no profundizaremos en su historia y orígenes, simplemente hablaremos de lo principal como cultura general:

  • Jenkins es un software de integración continua muy potente de código abierto escrito en Java, anteriormente conocido como Hudson, con esta herramienta podremos desplegar nuestro código en un servidor donde será compilado y probado.
  • Por medio de Jenkins podemos configurar la forma en la que vamos a obtener el código fuente y en la que queremos analizar el código de nuestro proyecto e integrar la herramienta con otras aplicaciones para hacer un análisis profundo de los resultados obtenidos, tales como generación de reportes, ejecución de distintas pruebas, gráficos o informar de malas prácticas implementadas en las líneas de código entre otros muchos tipos de informe.
  • Jenkins tiene soporte para sistemas de control de versiones, algunas como SVN, CVS, Git y corre en un servidor de aplicaciones como por ejemplo los muy conocidos como Tomcat o Jboss permitiendo la ejecución de proyectos configurados con Ant y/o Maven. También el paquete war de Jenkins contiene un servidor interno Jetty el cual con solo ejecutar el war con Java le da funcionamiento a Jenkins.
  • Con Jenkins basándonos en el concepto de integración continua o continuous delivery, cada vez que un programador del equipo de trabajo realice un cambio sobre el código fuente y lo suba al repositorio de código fuente, el sistema mediante la ejecución de sus tareas automáticas podrá revisar dichas actualizaciones y determinar su correcto funcionamiento mediante compilación, ejecución de pruebas unitarias y/o funcionales. 
  • Facilita el seguimiento a procesos de distintas áreas (Desarrollo, Testing, UAT y demás), encontrar defectos lo antes posible y poder tomar de decisiones sobre bugs o mejoras en la calidad del software.
  • Se integra al equipo de trabajo como una herramienta muy útil, facilita la organización pudiendo mejorar y agilizar los procesos, estabilizar la aplicación y mejorar la calidad del proyecto.


Lo anteriormente dicho son algunas de las características básicas de Jenkins, como vemos esta es una pequeña y rápida introducción de la Herramienta, tal vez un poco confusa pero con muchas mas aplicaciones, desde la página oficial de Jenkins se puede consultar más información, acceder a su wiki, comunidad, foros y herramientas ingresando a http://jenkins-ci.org/

viernes, 11 de enero de 2019

Reconstruir el proyecto de Ionic

Me ha pasado varias veces que agrego librerías en Ionic para hacer distintas pruebas y luego cuando ya defino que plugin o librería usar, el proyecto me queda sobrecargado de librerías. Por eso la idea de este post es poder limpiar todas las librerías agregadas y que solo queden las que realmente se van a usar en el proyecto.

Cuando se quiera limpiar el proyecto y volver a construir el proyecto desde los archivos de configuración, se debe seguir los siguientes pasos:

  1. Borrar los directorios node_modules, plugins y platforms
  2. Ejecutar en la raiz del proyecto 
  • npm install -g
  • ionic cordova prepare
  • ionic cordova platform add android

Otra forma mucho mas facil que hace exactamente lo mismo es correr el siguiente comando:


  • ionic repair