yml tutorial travis que generate deploy create cli travis-ci

travis-ci - tutorial - travis github



¿Desencadenar una reconstrucción de Travis-CI sin empujar un commit? (13)

Acabo de activar las pruebas en una solicitud de extracción para volver a ejecutar haciendo clic en ''actualizar rama'' aquí:

Utilizando Travis-CI, ¿es posible desencadenar una reconstrucción sin enviar un nuevo compromiso a GitHub?

Caso de uso: una compilación falla debido a una externalidad. La fuente es realmente correcta. Se construiría OK y pasaría si simplemente se volviera a ejecutar.

Por ejemplo, un apt-get falla debido a que un servidor de paquetes está inactivo, pero el servidor vuelve a estar activo. Sin embargo, el estado de compilación está "atascado" en "fallado" hasta que se empuja una nueva confirmación.

¿Hay alguna forma de empujar a Travis-CI para hacer otra compilación, aparte de empujar un "dummy" commit?



He encontrado otra forma de forzar la ejecución de compilaciones de CI y otros desencadenantes:

  1. Ejecute git commit --amend --no-edit sin ningún cambio. Esto recreará la última confirmación en la rama actual.
  2. git push --force-with-lease origin pr-branch .

Inicia sesión en Travis y ve a la página de compilación. Verá un botón "Reiniciar compilación" en la esquina superior derecha, junto al icono del engranaje:

Nota: necesita tener acceso de escritura al repositorio de GitHub vinculado para que esto funcione.


Puedes hacer esto usando el Travis CLI . Como se describe en la documentación , primero instale la herramienta CLI, luego:

travis login --org --auto travis token

Puede mantener este token en una variable de entorno TRAVIS_TOKEN , siempre que el archivo que lo guarda no esté controlado por una versión en algún lugar público.

Utilizo esta función para enviar disparadores:

function travis_trigger() { local org=$1 && shift local repo=$1 && shift local branch=${1:-master} && shift body="{ /"request/": { /"branch/": /"${branch}/" } }" curl -s -X POST / -H "Content-Type: application/json" / -H "Accept: application/json" / -H "Travis-API-Version: 3" / -H "Authorization: token $TRAVIS_TOKEN" / -d "$body" / "https://api.travis-ci.org/repo/${org}%2F${repo}/requests" }


Sé que usted dijo sin empujar un compromiso, pero algo que es útil, si está trabajando en una rama que no sea la maestra, es cometer un compromiso vacío.

git commit --allow-empty -m "Trigger"

Al final, puedes cambiar de base y eliminar el squash / eliminar las confirmaciones vacías y funciona en todos los ganchos de git :)


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 construcción.


Si instala el cliente Travis CI , puede usar travis restart <job#> para volver a ejecutar manualmente una compilación desde la consola. Puede encontrar el último trabajo # para una rama usando travis show <branch>

travis show master travis restart 48 #use Job number without .1 travis logs master

ACTUALIZACIÓN: Lamentablemente, parece que esto no inicia una nueva compilación con la confirmación más reciente, sino que simplemente reinicia una compilación anterior utilizando el estado anterior del repositorio.


Si la compilación nunca se produjo (tal vez no haya activado 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.


Si tiene un nuevo proyecto en GitHub que tiene .travis.yml, pero nunca se probó, puede ejecutar pruebas sin confirmación de esta manera:

  1. habilitar las pruebas en los ajustes de Travis CI
  2. abrir la página del proyecto en GitHub
  3. Configuración abierta -> webhooks y servicios
  4. Encuentra Travis CI en servicios y pulsa el botón editar.
  5. presiona "servicio de prueba"

Simlpy cierra y vuelve a abrir el PR si no tienes el acceso de escritura.


Travis ahora ofrece una manera 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 tener un poco de buggy (pero espero que se solucionen los problemas pronto).


  • Si tiene acceso de escritura al repositorio : en la pantalla de detalles de la compilación, hay un botón con la información sobre herramientas "Reiniciar compilación".

    Nota : las extensiones del navegador como Ghostery pueden impedir que se muestre el botón de reinicio. Intente desactivar la extensión o la lista blanca de Travis CI.

    Nota2 : Si la configuración de .travis.yml ha cambiado en el sentido ascendente, al hacer clic en el botón de reconstrucción se ejecutará travis con la configuración anterior. Para aplicar los cambios en sentido ascendente para la configuración de travis, se debe agregar confirmación a PR o para cerrarla o volver a abrirla.

  • Si ha enviado una solicitud de extracción : puede cerrar el PR y luego volver a abrirlo . Esto activará una nueva construcción.