Travis CI é um sistema de integração e implantação contínuo hospedado. Agora você pode testar e implantar projetos de código aberto e privados no travis-ci.com! Você pode ler mais sobre essa mudança aqui.
Estamos nos mudando para o nosso novo fórum da comunidade: Comunidade Travis CI! Como parte desse movimento, poderemos seguir melhor e responder aos threads, além de facilitar a localização de soluções e respostas. Faremos nossos melhores esforços para responder a tópicos existentes atualmente ou direcioná -los para o novo fórum da comunidade.
Link para o Fórum da Comunidade: https://travis-ci.comunity
Para interrupções e incidentes atuais, como conexões de rede lenta, assine https://www.traviscistatus.com.
Outros problemas de apoio podem ser direcionados para [email protected], onde nossa equipe de suporte terá prazer em ajudar.
Este repositório contém o rastreador de edição central do projeto Travis CI.
A documentação para o projeto Travis CI pode ser encontrada em https://docs.travis-ci.com.
Travis CI consiste em muitos subprojetos diferentes. Os principais são:
Travis-api é o aplicativo Sinatra responsável por servir nossa API. Ele responde a diferentes pontos de extremidade HTTP e executa serviços em Travis-Core. Muito pouca lógica está neste repositório.
Travis-Build cria o script de construção para cada trabalho. Ele pega a configuração do arquivo .travis.yml
e cria um script bash
que é executado no ambiente de construção pelo Travis-Worker. Este repositório também hospeda a fonte de scripts específicos de idiomas.
O Travis-CookBooks detém os livros de receitas de chef que são usados para provisionar os ambientes de construção.
O Travis-Hub coleta eventos de outros aplicativos e notifica outros aplicativos sobre os eventos. Por exemplo, ele notifica o Travis-Tasks sobre o início e o acabamento para que as notificações possam ser enviadas.
O Travis-Hub também é responsável por envolver trabalhos que foram criados e aplicar a qualidade das restrições de serviço, como o número de compilações simultâneas por usuário.
O Travis-Listener recebe notificações do Github sempre que as confirmações são pressionadas ou solicitações de puxar são abertas. Eles são então empurrados para o RabbitMQ para que outros aplicativos processem.
O Travis-Logs recebe atualizações de log do Travis-Worker, salva-as no banco de dados e as empurra para o cliente da web. Quando um trabalho termina, o Travis-Logs é responsável por empurrar o log para a Amazon S3 para arquivar.
O Travis-Support detém a lógica compartilhada para os diferentes aplicativos Travis CI. É diferente do Travis-Core, pois mantém coisas mais genéricas, como como executar um trabalho assíncrono ou como lidar com exceções.
O Travis-Tasks recebe notificações do Travis-Hub e envia notificações para os diferentes provedores de notificações, conforme necessário.
Travis-Web é o nosso principal cliente da web. Ele está escrito usando Ember e se comunica com Travis-Api para obter informações e obter atualizações ao vivo de Travis-Hub e Travis-Logs através do Pusher.
O Travis-Worker é responsável por executar os scripts de construção em um ambiente limpo. Ele transmite a saída de log para Travis-Logs e empurra as atualizações do estado (Build Starting/Acabing) para Travis-Hub.