Soy muy nuevo en Git y planeo 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 aparecía esto:
Fallido: la compilación de Travis CI falló
Al analizar los detalles, descubrí que fue causado por Could not find .travis.yml
, lo que tenía mucho sentido, ya que no había iniciado sesión en Travis Cl y no había agregado .travis.yml al repositorio.
Esta es la primera vez que escucho sobre Travis y lo que se conoce como integración continua. Y suena muy 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 que se utiliza para crear 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 usa Travis CI, y cada vez que esto sucede, intentará compilar el proyecto y ejecutar las pruebas . Esto incluye confirmaciones para todas las ramas, no solo para la rama maestra.
Mi comprensión actual de Travis CI es que lo que hace es impulsar automáticamente el proyecto git commit -am ".."
y no entiendo muy parte de él.
Al construir el proyecto y ejecutar pruebas , ¿qué pruebas ejecutará? ¿Y cómo va a "construir" el proyecto? (como compilarlo en binario?)
Dice que "Esto incluye confirmaciones para todas las ramas", pero ¿qué pasa si no quiero comprometerme para todas las ramas?
¿Está bien si no uso Travis Cl en absoluto? ¿En qué circunstancias es mejor usarlo (o debe usarse)?
Como ya ha descubierto qué es Travis-CI, señalaría directamente las preguntas que tiene.
En el
.travis.yml
archivo, está especificando su sistema operativo, el lenguaje de programación, la rama de su repositorio, el nombre del archivo del proyecto y otros detalles. Al leer este archivo, Travis-CI usará los compiladores específicos que instalaron 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, siempre que hagamos una confirmación, debería haber alguna notificación en el servidor Travis-CI, por lo que se reconocerá como una confirmación y comenzará a compilarse.Puede especificar diferentes ramas o la
master
rama. Y solo debe compilar las ramas específicas especificadas en el.travis.yml
archivo.Sí, está bien. No es un gran trato. Pero, ¿qué beneficios se perderá al no utilizar este motor fácil de integrar con su repositorio? Cada vez que lo confirma, es posible que se pierda algo y no se pueda compilar debido a un código. ¿Cómo lo sabrás? Por tanto, debería utilizar Travis-CI.
He escrito un blog puesto que se puede leer a saber, lo que es Travis-CI, integraciones continuas y cómo ligado Travis-CI con su Github Repo. Lo he escrito para un repositorio Swift.
fuente
Creo que estoy en una muy buena posición para responder a su pregunta, ya que actualmente estoy aprendiendo Travis CI en este momento. El primer problema que encontró en primer lugar es porque el proyecto en el que está contribuyendo está utilizando Travis CI para probar y construir el proyecto. Si el proyecto no utiliza Travis CI, no se habría encontrado con ese error.
La solución es consultar el sitio web de Travis CI y aprender cómo funciona y cómo afectó el proyecto en el que está trabajando. Esto lo pondrá en una muy buena posición para comprender qué falla en su código y cómo solucionarlo.
Responder a la primera pregunta sobre la construcción del proyecto.
Significa cómo se procesa el código fuente antes de usarlo / probarlo. Depende del idioma que esté escribiendo. Por ejemplo, si el proyecto está escribiendo con PHP. No va a construir mi código en un archivo ejecutable como el código fuente de C / C ++. Ejecutará mi código PHP en el intérprete de PHP y lo probará mientras lo hace. Todavía pasa por el proceso de compilación normal por el que pasa su idioma preferido.
fuente