Trabajo en el departamento de TI de la empresa de automatización / desarrollo y estamos a punto de implementar / agregar CI en nuestro conjunto de herramientas. Y estamos teniendo dificultades para elegir el.
En este momento hemos estado pensando en estos sistemas:
- Jenkins
- CircleCI
- TravisCI
Pregunta: ¿Cuáles son los atributos clave del software de CI que deberían tener los sistemas y en función de los cuales deberíamos compararlos?
EDITAR: esperamos de CI las cosas estándar: desde la creación de aplicaciones, ejecución de pruebas (Unidad / Integración / Rendimiento / ...), guardar estadísticas y proporcionar información por correo electrónico / en la página (informes).
El problema es que no sabemos qué si hay más funcionalidad y si, ¿qué es? Esto es lo que estaría buscando bajo las palabras "atributos clave" . Los nombres anteriores son solo para referencia, estoy buscando la respuesta "por qué usar esto o aquello" simplificado "usar esto o aquello" .
Estamos desarrollando en un entorno .NET (C #) con algunas bibliotecas escritas en C ++ / VBA.
fuente
Respuestas:
En general, existen cinco diferencias principales entre las diferentes soluciones de software de CI.
Costo : ¿El software es de código abierto y gratuito o propietario? ¿Su equipo de DevOps ya tiene un presupuesto para software o se espera que compare opciones gratuitas?
Mantenimiento : ¿Es el software algo que necesita alojar por su cuenta y mantener, o se ofrece como un servicio? Si necesita alojarlo por su cuenta, ¿tiene los miembros del equipo disponibles que puedan ejecutar el mantenimiento? Si se proporciona como un servicio, ¿dónde reside su código?
Seguridad : ¿Hay alguna preocupación de seguridad o cumplimiento sobre dónde están alojadas las máquinas de compilación? ¿Se comprenden bien los permisos requeridos por el software de CI en su SCM?
Comunidad : ¿El software de CI tiene una buena comunidad a su alrededor con los complementos y el soporte para las tecnologías que utiliza? ¿Es fácil obtener soporte o solucionar problemas cuando las cosas salen mal?
UX : ¿Qué tan fácil es usar el software? ¿El software CI admite scripts almacenados dentro de su SCM para las tareas que necesita hacer? ¿El informe es fácil de entender o requerirá algo de capacitación?
fuente
El sistema SCM que utiliza puede ser esencial para hacer su elección de CI.
El uso de una solución privada / intranet, por ejemplo, prácticamente excluye
CircleCI
yTravisCI
como estos solo son compatibles con la nubeGitHub
y / oBitbucket
.Jenkins
tiene complementos compatibles con muchos sistemas SCM, consulte ¿Qué herramientas SCM admite Jenkins? . Pero el uso de un sistema SCM menos popular o envuelto / personalizado puede requerir el desarrollo de un nuevo complemento.También pueden ser importantes las particularidades de su infraestructura / marco de prueba / construcción , por razones similares (configuración, ubicación / método de acceso y compatibilidad / soporte).
fuente