Tratando de entender qué hace Travis CI y cuándo debe usarse


Soy muy nuevo en Git y estoy planeando contribuir a algún proyecto de código abierto en GitHub después de descubrir un pequeño error en él. Al bifurcarlo y corregir el error, propuse una solicitud de extracción y noté que esto aparecía:

Falló - La compilación de Travis CI falló

Buscando en los detalles descubrí que fue causado por Could not find .travis.yml, lo que tenía perfecto sentido ya que no había iniciado sesión en Travis Cl con y agregar .travis.yml al repositorio.

Esto es mi primera vez escuchando sobre Travis y lo que se conoce como integración continua. Y suena bastante bien, así que para aprender más sobre él, lo busqué en Wikipedia.

Travis CI es un servicio de integración continua alojado y distribuido se utiliza para construir y probar proyectos alojados en GitHub. Travis CI detecta automáticamente cuando se ha realizado una confirmación y se ha enviado a un repositorio de GitHub que está utilizando Travis CI, y cada vez que esto sucede, intentará compilar el proyecto y ejecutar pruebas. Esto incluye commits a todas las ramas, no solo a la rama master.

Mi comprensión actual de Travis CI es que lo que hace es empujar automáticamente el proyecto sobre git commit -am ".." y no entiendo muy bien alguna parte de ella.

  1. Por construir el proyecto y ejecutar pruebas, ¿qué pruebas se va a ejecutar? ¿Y cómo va a "construir" el proyecto? (como compilarlo en binario?)

  2. Afirma que " Esto incluye commits a todas las ramas " - pero ¿qué pasa si no quiero comprometerme a todas las ramas?

  3. ¿Está bien si no uso Travis Cl en absoluto? ¿Bajo qué circunstancias es mejor usarlo (o debe usarse)?

Author: trying to figure it out, 2014-03-23

2 answers

La forma más sencilla de explicar Travis CI es que ejecuta las pruebas de su programa cada vez que se compromete a GitHub (esto se puede configurar de muchas maneras, y siempre se puede desactivar compilaciones en algunas ramas). El punto de esto es que a menudo puedes descubrir muy rápidamente si tu commit rompió algo, y arreglarlo antes de que se convierta en un problema. Recomendaría ejecutar Travis CI en cada repositorio de GitHub en el que tenga pruebas unitarias y esté utilizando un lenguaje de programación compatible con Travis CI. Desde el ajuste up Travis CI es muy fácil, normalmente no veo una buena razón para no usarlo, a menos que no le importe si tiene pruebas de aprobación en su programa o no. Siéntase libre de dejar un comentario si tiene más preguntas. Puedes leer más sobre Travis CI aquí.

 73
Author: joshua-anderson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-05-11 06:52:52

Como ya has descubierto lo que es Travis-CI, me gustaría señalar directamente las preguntas que tienes.

Al construir el proyecto y ejecutar pruebas, ¿qué pruebas se va a ejecutar? ¿Y cómo va a "construir" el proyecto? (como compilarlo en binario?)

En el archivo .travis.yml a está especificando su sistema operativo, el lenguaje de programación, su rama repo, el nombre del archivo de proyecto y otros detalles. Al leer este archivo, Travis-CI utilizará los compiladores específicos que instalado en su servidor para compilar nuestro código. Probablemente tendrán el mismo mecanismo que tenemos para Github. Por primera vez, podrían extraer el código [si hemos especificado ramas específicas, podrían extraer el código solo de esas ramas]. Además, nos hemos autenticado para usar nuestra cuenta con Travis-CI, cada vez que hacemos un commit, debe haber alguna notificación debe disparar al servidor Travis-CI por lo que será reconocido como un commit y comenzará a compilar.


Establece que "Esto incluye commits a todas las ramas" - pero ¿qué pasa si no quiero commit a todas las ramas?

Puede especificar diferentes ramas o la rama master. Y solo debe compilar las ramas específicas especificadas en el archivo .travis.yml.


¿Está bien si no uso Travis Cl en absoluto? ¿Bajo qué circunstancias es mejor usarlo (o debe usarse)?

Sí, está bien. No es gran cosa. Pero ¿qué beneficios te faltarán por no usando este motor fácil de integrar con su repositorio. Cada vez que commit es posible que se pierda algo y no se pudo compilar debido a un código. ¿Cómo lo sabrás? Por lo tanto, debe usar Travis-CI.


He escrito un blog post que puedes leer para saber, qué es Travis-CI, Integraciones Continuas y cómo vincular Travis-CI con tu Repositorio de Github. Lo he escrito para un repositorio Swift.

 12
Author: Hemang,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-05 04:37:21