Usando o Travis-CI, é possível disparar uma reconstrução sem enviar um novo commit ao GitHub?
Caso de uso: Uma construção falha devido a uma externalidade. A fonte está realmente correta. Seria bom construir e passar se simplesmente re-executar.
Por exemplo, uma apt-get
falha ocorre porque um servidor de pacotes está inativo, mas o servidor está novamente em backup. No entanto, o status da construção é "travado" em "falhou" até que uma nova confirmação seja enviada.
Existe alguma maneira de convencer o Travis-CI a fazer outra compilação, além de enviar um commit "fictício"?
Se você abrir a guia Configurações do repositório no GitHub, clique em Integrações e serviços , encontre o Travis CI e clique em Editar , você verá um botão Serviço de teste . Isso acionará uma compilação.
fonte
Settings
no repositório no Github , não na página de repositórios do Travis! Não acredito que perdi 20 minutos tentando encontrarService Hooks
na página de Travis. :( #Sei que você disse sem enviar um commit, mas algo útil, se você estiver trabalhando em um ramo que não seja o master, é confirmar um commit vazio.
git commit --allow-empty -m "Trigger"
Você pode refazer a recuperação no final e remover o squash / remover os commits vazios e funciona em todos os ganchos do git :)
fonte
Encontrei outra maneira de forçar a execução de compilações de CI e outros gatilhos:
git commit --amend --no-edit
sem nenhuma alteração. Isso recriará a última confirmação na ramificação atual.git push --force-with-lease origin pr-branch
.fonte
--amend
sinalizador também pode não alterar oHEAD
commit em alguns casos.git push --force-with-lease origin pr-branch
assim que você fizer mudanças não acidentalmente nuclear de outra pessoaFaça login no Travis e vá para a página de compilação. Você verá um botão "Reiniciar compilação" no canto superior direito, ao lado do ícone de roda dentada:
Nota: você precisa ter acesso de gravação ao repositório vinculado do GitHub para que isso funcione.
fonte
Se você possui um novo projeto no GitHub que possui .travis.yml, mas nunca foi testado, você pode executar testes sem confirmar desta maneira:
fonte
Você pode fazer isso usando a CLI do Travis . Conforme descrito na documentação , instale primeiro a ferramenta CLI e, em seguida:
Você pode manter esse token em uma variável de ambiente
TRAVIS_TOKEN
, desde que o arquivo em que ele está armazenado não seja controlado por versão em algum lugar público.Eu uso essa função para enviar gatilhos:
fonte
O Travis agora oferece uma maneira de acionar uma compilação "personalizada" a partir da interface do usuário da web. Procure o botão de menu "Mais opções" no lado direito, próximo à parte superior da página do seu projeto.
Você receberá uma caixa de diálogo na qual poderá escolher a ramificação e personalizar a configuração:
No momento em que escrevo isso, ele está na versão beta e parece um pouco problemático (mas espero que eles resolvam os problemas em breve).
fonte
Se você instalar o Travis CI Client, poderá usar
travis restart <job#>
novamente para executar manualmente uma compilação no console. Você pode encontrar o último número de trabalho de uma filial usandotravis show <branch>
ATUALIZAÇÃO: Infelizmente, parece que isso não inicia uma nova compilação usando a confirmação mais recente, mas apenas reinicia uma compilação anterior usando o estado anterior do repositório.
fonte
Devo mencionar aqui que agora temos um meio de desencadear uma nova compilação na web. Consulte https://blog.travis-ci.com/2017-08-24-trigger-custom-build para obter detalhes.
TL; DR Clique em "Mais opções" e escolha "Trigger build".
fonte
build #xxxx has been restarted
, mas se você olhar na página web você não vê qualquer construção acontecendoSe a construção nunca ocorreu (talvez você não tenha ativado a opção de solicitação de solicitação pull), marque a solicitação de solicitação no Github como fechada e depois como aberta e uma nova compilação será acionada.
fonte
Acabei de acionar os testes em uma solicitação pull para serem executados novamente clicando em 'atualizar ramo' aqui:
fonte
Aqui está o que funcionou para desencadear uma reconstrução em um PR que o Dependabot havia aberto, mas falhou devido a erros em
.travis.yml
:dependabot/cargo/tempfile-3.0.4
).fonte
Certifique-se de fazer login no Travis primeiro. O botão de reconstrução não aparece até que você esteja logado. Eu sei que isso é óbvio, mas alguém também tropeçou nele ;-)
fonte
às vezes acontece que o servidor cometeu alguns erros. tente sair / entrar e tudo pode estar certo nesse momento. (Sim, aconteceu esta tarde comigo.)
fonte
Simlpy feche e reabra o PR se você não tiver acesso de gravação.
fonte