Travis-ci y Jenkins, si bien ambas son herramientas para la integración continua, son muy diferentes.
Travis es un servicio alojado (gratuito para código abierto) mientras que tiene que alojar, instalar y configurar Jenkins.
Travis no tiene trabajo como en Jenkins. Los comandos para ejecutar para probar el código se toman de un archivo llamado .travis.yml
que se encuentra junto al código del proyecto. Esto facilita tener diferentes códigos de prueba por rama ya que cada rama puede tener su propia versión del archivo .travis.yml.
Puede tener una función similar con Jenkins si usa uno de los siguientes complementos:
- Complemento Travis YML : advertencia: no parece ser popular, probablemente no esté completo en comparación con el Travis real.
- Jervis : una modificación de Jenkins para que se lea crear trabajos desde un
.jervis.yml
archivo que se encuentra en la raíz del código del proyecto. Si .jervis.yml
no existe, recurrirá al uso del .travis.yml
archivo.
Hay otros servicios alojados que también podría considerar para la integración continua (lista no exhaustiva):
Como escoger ?
Es posible que desee quedarse con Jenkins porque está familiarizado con él o no desea depender de terceros para su sistema de integración continua. De lo contrario, dejaría a Jenkins e iría con uno de los servicios gratuitos de CI alojados, ya que le ahorran muchos problemas (hospedar, instalar, configurar, preparar trabajos)
Dependiendo de dónde esté alojado su repositorio de código, tomaría las siguientes opciones:
- en casa → Jenkins o gitlab-ci
- Github.com → Travis-CI
Para configurar Travis-CI en un proyecto github, todo lo que tiene que hacer es:
- agregue un archivo .travis.yml en la raíz de su proyecto
- cree una cuenta en travis-ci.com y active su proyecto
Las características que obtienes son:
- Travis ejecutará sus pruebas por cada impulso realizado en su repositorio
- Travis ejecutará sus pruebas en cada solicitud de extracción que los contribuyentes harán
.travis.yml
!) Tengo varios proyectos de github para los que estoy ejecutando mi propio Jenkins, y no me arrepiento de eso. Si tiene la capacidad de ejecutar su propio Jenkins, le recomiendo encarecidamente esa opción. Es bueno tener el 100% de control de su entorno CI.Trabajé tanto en Travis como en Jenkins: enumeraré algunas de las características de ambos:
Configurar CI para un proyecto
Travis viene en primer lugar. Es muy fácil de configurar. Tarda menos de un minuto en configurar con GitHub.
Jenkins
Volver a ejecutar compilaciones
Travis: cualquier persona con acceso de escritura en GitHub puede volver a ejecutar la compilación haciendo clic en `reiniciar compilación
Jenkins: vuelva a ejecutar compilaciones basadas en una frase. Proporciona texto de frase en la descripción de PR / commit, como
reverify jenkins
.Ambiente de control
Travis: Travis proporciona un entorno alojado. Instala el software requerido para cada compilación. Es un proceso lento.
Jenkins: configuración única. Instala todo el software requerido en un nodo / máquina esclava, y luego construye / prueba en un entorno preinstalado.
Crear registros:
Travis: admite registros de compilación para colocar en Amazon S3.
Jenkins: fácil de configurar con el complemento de artefactos de construcción.
fuente
Sugeriría Travis para el proyecto de código abierto. Es simple de configurar y usar.
Pasos sencillos para configurar:
.travis.yml
archivo en la raíz de su proyecto. Agregue Travis como servicio en su página de configuración del repositorio.Ahora, cada vez que se comprometa en su repositorio, Travis construirá su proyecto. Puede seguir pasos simples para comenzar con Travis CI.
fuente