Usando Travis-CI, ¿es posible desencadenar una reconstrucción sin empujar un nuevo commit a GitHub?
Caso de uso: una compilación falla debido a una externalidad. La fuente es realmente correcta. Construiría OK y pasaría si simplemente se vuelve a ejecutar.
Por ejemplo, un apt-get
error debido a que un servidor de paquetes está inactivo, pero el servidor vuelve a funcionar. Sin embargo, el estado de compilación está "atascado" en "fallido" hasta que se empuje una nueva confirmación.
¿Hay alguna forma de empujar a Travis-CI para que haga otra compilación, que no sea presionar una confirmación "ficticia"?
Si abre la pestaña Configuración para el repositorio en GitHub, haga clic en Integraciones y servicios , busque Travis CI y haga clic en Editar , debería ver un botón Servicio de prueba . Esto activará una compilación.
fuente
Settings
en el repositorio en Github , no en la página de repositorio de Travis! No puedo creer que haya perdido 20 minutos tratando de encontrarService Hooks
en la página de Travis. :(Sé que dijiste sin presionar un commit, pero algo que es útil, si estás trabajando en una rama que no sea master, es cometer un commit vacío.
git commit --allow-empty -m "Trigger"
Puede volver a redactar al final y eliminar squash / eliminar las confirmaciones vacías y funciona en todos los ganchos git :)
fuente
He encontrado otra forma de forzar volver a ejecutar compilaciones de CI y otros desencadenantes:
git commit --amend --no-edit
sin cambios. Esto recreará la última confirmación en la rama actual.git push --force-with-lease origin pr-branch
.fuente
--amend
bandera también puede no cambiar elHEAD
compromiso en algunos casos.git push --force-with-lease origin pr-branch
no accidentalmenteInicie sesión en Travis y vaya a la página de compilación. Verá un botón "Reiniciar compilación" en la esquina superior derecha, junto al ícono de ajustes:
Nota: debe tener acceso de escritura al repositorio de GitHub vinculado para que esto funcione.
fuente
Si tiene un nuevo proyecto en GitHub que tiene .travis.yml, pero nunca fue probado, puede ejecutar pruebas sin comprometerse de esta manera:
fuente
Puede hacerlo utilizando la CLI de Travis . Como se describe en la documentación , primero instale la herramienta CLI, luego:
Puede mantener este token en una variable de entorno
TRAVIS_TOKEN
, siempre que el archivo en el que lo guarda no esté controlado por la versión en algún lugar público.Yo uso esta función para enviar disparadores:
fuente
Travis ahora ofrece una forma de activar una compilación "personalizada" desde su interfaz de usuario web. Busque el botón de menú "Más opciones" en el lado derecho cerca de la parte superior de la página de su proyecto.
Luego se le presentará un cuadro de diálogo en el que puede elegir la rama y personalizar la configuración:
En el momento en que escribo esto, está en versión beta y parece estar un poco defectuoso (pero espero que solucionen los problemas pronto).
fuente
Si instala Travis CI Client , puede usarlo
travis restart <job#>
para volver a ejecutar manualmente una compilación desde la consola. Puede encontrar el último trabajo # para una sucursal usandotravis show <branch>
ACTUALIZACIÓN: Lamentablemente, parece que esto no inicia una nueva compilación utilizando la última confirmación, sino que simplemente reinicia una compilación anterior utilizando el estado anterior del repositorio.
fuente
Debo mencionar aquí que ahora tenemos un medio para activar una nueva compilación en la web. Ver https://blog.travis-ci.com/2017-08-24-trigger-custom-build para más detalles.
TL; DR Haga clic en "Más opciones" y elija "Activar compilación".
fuente
build #xxxx has been restarted
pero si miras en la página web no ves que ocurra ninguna compilaciónSi la compilación nunca se produjo (tal vez no activó el interruptor de compilación de solicitud de extracción a tiempo), puede marcar la solicitud de extracción en Github como cerrada y luego marcarla como abierta y se activará una nueva compilación.
fuente
Acabo de activar las pruebas en una solicitud de extracción para volver a ejecutarlas haciendo clic en 'actualizar rama' aquí:
fuente
Esto es lo que funcionó para mí para desencadenar una reconstrucción en un RP que Dependabot había abierto, pero falló debido a errores en
.travis.yml
:dependabot/cargo/tempfile-3.0.4
).fuente
Asegúrese de iniciar sesión en Travis primero. El botón de reconstrucción no aparece hasta que haya iniciado sesión. Sé que esto es obvio, pero alguien también se tropezó con él ;-)
fuente
A veces sucede que el servidor cometió algunos errores. intente cerrar sesión / iniciar sesión y todo podría estar bien en ese momento. (Sí, me pasó esta tarde).
fuente
Simlpy cierre y vuelva a abrir el PR si no tiene acceso de escritura.
fuente