Tentando entender o que Travis CI faz e quando deve ser usado

sou muito novo no Git e estou a planear contribuir para um projecto de código aberto no GitHub depois de descobrir um pequeno erro nele. Ao bifurcá - lo e corrigir o erro, eu propus um pedido de puxão e notei isso aparecendo:

A construção do Travis CI falhou.
Olhando para os detalhes, descobri que foi causado por ... o que fazia todo o sentido, uma vez que não tinha assinado com o Travis Cl e a add .travis.yml para o repositório.

Isto é a primeira vez que ouço falar do Travis e daquilo que é conhecido como integração contínua. E parece muito legal então, a fim de aprender mais sobre isso, eu pesquisei na Wikipédia.

O Travis CI é um serviço de integração contínua e distribuída. usado para construir e testar projetos hospedados no GitHub. Travis CI detecta automaticamente quando um commit foi feito e empurrado para um repositório GitHub que está usando Travis CI, e cada vez que isso acontece, ele vai tentar construir o projecte e execute testes. Isto inclui compromissos com todos os ramos, não apenas com o ramo mestre.

A minha actual compreensão do Travis CI é que o que ele faz é empurrar automaticamente o projecto para cima e eu não entendo uma parte dele.

  1. até construir o projecto e fazer testes, que testes é que ele vai executar? E como vai "construir" o projeto? (como compilar para binário?)

  2. afirma que" includes commits to all branches " - mas e se eu não quiser commit to all branches?

  3. Posso não usar o Travis Cl? Em que circunstâncias é melhor usá-lo (ou deve ser usado)?

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

2 answers

A maneira mais simples de explicar o Travis CI é que ele executa os testes do seu programa sempre que você se compromete com o GitHub (isto pode ser configurado de muitas maneiras, e você pode sempre desativar o builds em alguns ramos). O ponto disso é que você pode muitas vezes descobrir muito rapidamente se seu commit quebrou algo, e corrigi-lo antes que se torne um problema. Eu recomendaria executar Travis CI em todos os acordos de GitHub que você tem testes de unidade dentro e está usando uma linguagem de programação apoiada por Travis CI. Desde configurar Travis CI é muito fácil, eu normalmente não vejo uma boa razão para não usá-lo, a menos que você não se importa se você tem testes de aprovação em seu programa ou não. Sinta-se à vontade para deixar um comentário se tiver mais perguntas. Você pode ler mais sobre Travis CI Aqui.

 73
Author: joshua-anderson, 2018-05-11 06:52:52
Como já descobriu o que é Travis-CI, gostaria de apontar directamente as perguntas que tem.
Ao construir o projecto e fazer testes, que testes vai fazer? E como vai "construir" o projeto? (como compilar para binário?)

No ficheiro {[[0]} está a especificar o seu SO, a linguagem de programação, o seu ramo de repo, o nome do ficheiro do projecto e outros detalhes. Ao ler este ficheiro, o Travis-CI irá usar os compiladores específicos que instalado em seu servidor para compilar nosso código. Provavelmente terão o mesmo mecanismo que nós temos para o Github. Pela primeira vez, eles podem puxar o código [se tivermos especificado ramos específicos eles podem puxar o código apenas desses ramos]. Além disso, nós autenticamos para usar nossa conta com Travis-CI, sempre que fazemos um commit, deve haver alguma notificação deve disparar para o servidor Travis-CI, assim ele será reconhecido como um commit e ele vai começar a compilar.


Diz que "isto inclui compromissos com todos os ramos" - mas e se eu não quiser comprometer-me com todos os ramos?

Pode indicar ramos diferentes ou o ramo master. E só deverá compilar os ramos específicos especificados no ficheiro .travis.yml.


Não há problema se Eu não usar o Travis Cl? Em que circunstâncias é melhor usá-lo (ou deve ser usado)?
Sim, está tudo bem. Não é nada de mais. Mas que benefícios você estará faltando por não usando este motor fácil de integrar com o seu repo. Cada vez que você comete pode ser possível que ele perca alguma coisa e não poderia compilar por causa de um código. Como vais saber? Portanto, devias usar o Travis-CI.

Eu escrevi um blog post que você pode ler para saber, o que é Travis-CI, integrações contínuas e como ligar Travis-CI com o seu Github Repo. Escrevi-o para um repositório Swift.

 12
Author: Hemang, 2018-07-05 04:37:21