Postman con Newman & Jenkins

En la serie de Tutoriales de Postman hemos aprendido sobre Postman & Newman y sus características. Para dominar completamente en Postman solo necesitamos un elemento más para completar este curso. Este elemento es Jenkins. Así que en estos tutoriales hablaremos sobre Postman con Newman & Jenkins. Básicamente Postman no es solo un software hoy en día. Cartero no es Cartero, sino un paquete de Cartero, Newman y Jenkins. Este paquete ayuda a completar el círculo de pruebas automatizadas y entregar software de buena calidad. Ya que hemos discutido los dos primeros elementos, nos centraremos en Jenkins en los próximos tutoriales, para comprender los beneficios de Postman con Newman & Jenkins. Empecemos por familiarizarte con él. jenkins_Main_Logo

¿Qué es Jenkins?

Jenkins es un servidor de automatización de código abierto escrito en Java. Jenkins se utiliza para construir y probar su proyecto continuamente y, por lo tanto, facilitar el trabajo de un desarrollador y un probador para el software. Para entenderlo en términos familiares que estudiamos, Jenkins utiliza la integración continua y el desarrollo continuo para el desarrollo y la implementación del software y todo esto facilita el trabajo de un desarrollador. Con Jenkins, las organizaciones pueden acelerar el proceso de desarrollo de software a través de la automatización. Jenkins integra procesos de ciclo de vida de desarrollo de todo tipo, incluidos compilación, documentación, prueba, paquete, etapa, implementación, análisis estático y mucho más.

Recuerde que en el último tutorial que estudiamos sobre la integración continua, que en resumen significa que cada vez que su código se envía al repositorio, algunos casos de prueba se ejecutan automáticamente en el código. Esto ayuda a los desarrolladores a comprobar si la compilación es correcta o no. Si no realizamos la integración continua «continuamente», pero de vez en cuando es posible que no entremos en qué compilación falló y debido a qué problema. Jenkins hace lo mismo, ayuda al desarrollador y al probador mediante la integración continua y la comprobación continua de la calidad de la compilación. Pero no hemos aprendido sobre el segundo término (Entrega continua) que usamos anteriormente. Así que hagámoslo ahora.

¿Qué es la Entrega continua?

La entrega continua se basa en la Integración Continua, lo que significa que la Entrega Continua (CD) no es posible si la Integración Continua (CI) no está en su lugar. La entrega continua funciona como el siguiente paso de la integración continua. La entrega continua es una práctica de desarrollo de software DevOps en la que los cambios de código se crean, prueban automáticamente (Pruebas unitarias) y se preparan para su publicación en un entorno. Este entorno puede ser cualquier cosa, desde la puesta en escena, la preproducción o la producción. En cierto modo, amplía la integración continua mediante la implementación de todos los cambios de código en un entorno de pruebas y/o un entorno de producción después de la etapa de compilación.

La entrega continua permite a los desarrolladores automatizar las pruebas más allá de las pruebas unitarias para que puedan verificar las actualizaciones de aplicaciones en múltiples dimensiones antes de implementarlas en los clientes. Estas pruebas pueden incluir Pruebas de Interfaz de Usuario, Pruebas de Rendimiento, Pruebas de Integración, Pruebas de API. Como sabe, la interfaz de usuario u otras pruebas necesitan un entorno para ejecutarse, por lo tanto, continuous delivery implementa la aplicación en el entorno especificado y donde se ejecutarán las otras pruebas, como API & UI. Esto ayuda a los desarrolladores a validar más a fondo las actualizaciones y a descubrir problemas de forma preventiva.

Por lo tanto, se notifica a los desarrolladores de lo mismo y lo introducen manualmente en el entorno de producción desde donde se libera el software a los clientes/clientes. La entrega continua automatiza todo el proceso de lanzamiento de software. Cada revisión que se confirma activa un flujo automatizado que compila, prueba y, a continuación, prepara la actualización. La decisión final de implementar en un entorno de producción en vivo la toma el desarrollador.

¿Qué es la implementación continua?

La diferencia entre la entrega continua y la implementación continua es la presencia de una aprobación manual para actualizar a la producción. Con la implementación continua, la implementación de producción se realiza automáticamente sin aprobación explícita. Lo que significa que en la implementación continua, el último paso también se automatiza y el código se empuja automáticamente sin ninguna intervención del desarrollador.

También podemos decir que es un paso adelante de la entrega continua, ya que está totalmente automatizado. Dado que está totalmente automatizado, sería más fácil adivinar que requiere un proceso de entorno muy cuidadoso y solo unas pocas empresas lo aplicarán. Estas precauciones cuidadosas incluyen tener un cultivo de monitoreo altamente desarrollado y tener la capacidad de recuperarse rápidamente.

 entrega continua vs implementación continua

Por lo tanto, Jenkins es un software que automatiza las pruebas y proporciona integración continua y entrega/implementación continua. Continuando con lo mismo, Jenkins nos da más ventajas.

Ventajas de Jenkins

Jenkins logra una integración continua con la ayuda de plug-in y hay literalmente miles de plugins disponibles para Jenkins. Para cada trabajo, puede encontrar un complemento para Jenkins y, si no, se puede crear. El complemento permite la integración de varias etapas de DevOps. Si desea integrar una herramienta en particular, debe instalar el complemento para esa herramienta. Por ejemplo: Git, proyecto Maven 2, Amazon EC2, editor HTML, etc. Además de los plug-ins, Jenkins

  • tiene las siguientes ventajas: Es una herramienta de código abierto con gran soporte para la comunidad
  • Es fácil de instalar.
  • Es gratuito.
  • Está construido con Java y, por lo tanto, es portátil a todas las plataformas principales.

Estas ventajas son de gran importancia para cualquier desarrollador o probador. Y si algo no conseguiste lo hemos resumido en la siguiente sección.

Postman con Newman & Jenkins

Jenkins hoy en día se está utilizando a un ritmo que el desarrollador nunca había imaginado. Pronto se convertirá en el motor de DevOps. No hay duda de que la principal fuente de energía de Jenkins son sus complementos. No hay ningún otro factor específico para usar Jenkins con Cartero. Hay muchas alternativas que se pueden usar con Postman, pero Jenkins es preferido y recomendado (también en el sitio web oficial de postman). Por así decirlo, usaremos Jenkins solo porque tiene más poder que otro software y también está evolucionando. La gama de complementos en Jenkins lo convierte en la primera opción para cualquier persona. Si desea consultar las alternativas, puede aprender sobre ellas a través de la búsqueda de usted mismo. Son Atlassian Bamboo, CircleCI, JetBrains TeamCity, ThoughtWorks Snap, por nombrar algunos.

Como comentamos en la sección anterior, la integración continua nos ayuda a combinar los diferentes códigos y ejecutar pruebas de forma continua. Esta amalgama de pruebas y código es un éxito debido a la integración continua, que en Postman es realizada por Newman y Jenkins. Postman Newman está diseñado para integrarlo fácilmente con sus sistemas de compilación Jenkins. Gracias a esta función, los desarrolladores obtienen información rápida sobre el rendimiento de las API después de los cambios de código. Al igual que con la ayuda de Newman, se integra con Jenkins y, a partir de entonces, si se impulsa algún cambio, Jenkins ejecutará las colecciones de carteros con Newman.

Resumen

Jenkins es un servidor de integración continua. En resumen, Jenkins actúa como intermediario entre su código de compilación y el repositorio. Si encuentra algún cambio en el código, lo recopila y lo envía a su código de compilación, donde se realizan pruebas automatizadas. Si las pruebas parecen estar bien, un envío manual entregará el mismo código al cliente en caso de entrega continua o, de lo contrario, este proceso se automatizará de acuerdo con la implementación continua. Tan rápido, fácil y confiable. Espero que ahora tengas lo que es Jenkins y por qué lo usamos. En el siguiente tutorial instalaremos Jenkins y ejecutaremos algunas colecciones.