驴Qu茅 herramienta de CI / CD elegir: Jenkins o GitLab?

Las herramientas de implementaci贸n de CI / CD e integraci贸n continua est谩n en demanda en la actualidad. De todas las soluciones actuales, hay dos l铆deres obvios, Jenkins y GitLab. En los servicios de revisi贸n grandes, ambas soluciones tienen aproximadamente la misma calificaci贸n, pero vale la pena considerar no solo esto. Echemos un vistazo a los beneficios de Jenkins y GitLab y para qu茅 son m谩s adecuados.







Gitlab



Es un producto de c贸digo abierto gratuito publicado bajo la licencia MIT y escrito en Go y Ruby. Un servidor separado en una soluci贸n de este tipo es capaz de manejar m谩s de 25.000 usuarios.





Interfaz de GitLab GitLab



brinda la capacidad de trabajar con repositorios, revisi贸n de c贸digo, tiene su propio sistema de control de errores y mucho m谩s. Para mejorar la privacidad del usuario, es posible vincular la herramienta a los servidores de Active Directory y LDAP instal谩ndola localmente.



Una comunidad grande e involucrada hace que trabajar con el producto sea c贸modo. GitLab se usa no solo para generar c贸digo, sino tambi茅n para revisarlo a fondo. Casi todos los entornos de compilaci贸n y los sistemas de control de versiones son compatibles.



pros



  • Documentaci贸n detallada y f谩cil gesti贸n.
  • . , .
  • , .
  • .
  • pull requests , opensource-.




  • (, ) .
  • .


Jenkins



Una soluci贸n de c贸digo abierto extensible para automatizar la implementaci贸n. Jenkins est谩 escrito en Java y tambi茅n se ejecuta bajo la licencia MIT. Tiene un amplio conjunto de caracter铆sticas para automatizar las tareas de construcci贸n, prueba, implementaci贸n, integraci贸n y lanzamiento de software.





Interfaz de Jenkins



Adem谩s de la instalaci贸n a trav茅s de un paquete de instalaci贸n tradicional, se puede instalar tanto de forma independiente como Docker en cualquier m谩quina con Java Runtime Environment (JRE) instalado.



Tambi茅n hay un subproyecto del equipo de Jenkins llamado Jenkins X que se especializa en CI / CD dentro de los cl煤steres de Kubernetes.



El equipo de Jenkins ha lanzado alrededor de 1.500 complementos, por lo que se puede usar con otras soluciones como co Slack, Jira y otras. La integraci贸n tambi茅n est谩 disponible para una variedad de herramientas de prueba de DevOps. Hay soporte para REST API para acceso remoto al sistema. Viene en tres versiones: Python, XML y JSON con soporte JSONP. Al igual que con GitLab, ayuda a desarrollar una gran comunidad apasionada. Tambi茅n puede actuar como servlet en contenedores Java como GlassFish y Apache Tomcat.



pros



  • F谩cil de configurar y actualizar (en solo unos pocos pasos).
  • Proceso de construcci贸n automatizado y documentaci贸n clara y detallada.
  • F谩cil integraci贸n con otras herramientas, en este caso se le puede notificar sobre el avance del proceso.
  • . , .




  • .
  • , .




Jenkins es bueno por su gran biblioteca de complementos, control completo sobre los espacios de trabajo, f谩cil configuraci贸n de nodos y f谩cil implementaci贸n. En general, la soluci贸n es flexible, universal y f谩cil de aprender, con soporte para muchos idiomas (pero no hay soporte completo para ruso).



En GitLab, es f谩cil escalar los corredores, hay una ejecuci贸n paralela de tareas dentro de las diferentes fases de la canalizaci贸n. La soluci贸n escala muy bien, es f谩cil agregar tareas. Adem谩s, GitLab est谩 bien hecho en t茅rminos de seguridad y privacidad.



Con GitLab, puede controlar todos los aspectos del trabajo con repositorios de Git, incluidas las ramas con c贸digo. Con Jenkins, usted controla los repositorios solo hasta cierto punto. Por ejemplo, no tiene control total sobre las ramas.



Tambi茅n vale la pena recordar la tarea original que supuso el desarrollo de ambas herramientas. Jenkins se cre贸 principalmente para la implementaci贸n de CI, mientras que GitLab se cre贸 para la colaboraci贸n de c贸digo y el control de versiones.






Blog ITGLOBAL.COM - TI administrada, nubes privadas, IaaS, servicios de seguridad de la informaci贸n para empresas:






All Articles