O Travis Build expõe uma API que os trabalhadores da Travis e o uso do conselho de emprego usam para gerar um script bash que é copiado para o ambiente de execução de emprego e executado, com a saída resultante transmitida de volta para Travis.
Essa base de código passou por várias iterações de desenvolvimento e foi originalmente extraída do Legacy Travis Worker, antes de assumir sua forma atual.
Correr
bundle exec rake spec
Você pode configurar o Travis-Build como um plugin para o cliente da linha de comando:
git clone https://github.com/travis-ci/travis-build
cd travis-build
mkdir -p ~ /.travis
ln -s $PWD ~ /.travis/travis-build
gem install bundler
bundle install --gemfile ~ /.travis/travis-build/Gemfile
bundler binstubs travis
Agora você poderá executar travis compile
, que produz o script bash que executa o trabalho especificado, exceto que as variáveis de ambiente seguro não são definidas e que a expansão da matriz de construção não é considerada, por exemplo:
~ /.travis/travis-build/bin/travis compile
O script bash gerado pelo comando compilador contém comandos que fazem alterações no sistema no qual é executado (por exemplo, editar /etc/resolv.conf
, instalar o software). Alguns exigem privilégios sudo
e não são facilmente desfeitos.
É altamente recomendável que você execute isso em um contêiner ou outro ambiente virtualizado.
O comando pode ser chamado de três maneiras:
Sem um argumento, ele produz e imprime um script bash das ações no .travis.yml
local sem considerar os valores de env
e matrix
( travis-build
é incapaz de expandir essas chaves corretamente).
~ /.travis/travis-build/bin/travis compile
Com um único número inteiro, ele produz o script para a compilação fornecida (ou o primeiro trabalho dessa matriz de construção).
~ /.travis/travis-build/bin/travis compile 8
Com um argumento do Formulário MN
, ele produz o script bash para o trabalho MN
.
~ /.travis/travis-build/bin/travis compile 351.2
O script gerado pode ser usado em um contêiner ou ambiente virtualizado que imita de perto o ambiente de construção da Travis CI para ajudá -lo a depurar as falhas de construção. As instruções para executar um contêiner desse tipo estão disponíveis nos documentos do Travis CI.
Além do plugin Travis CLI, você também pode executar o script de CLI independente:
bundle exec script/compile < payload.json > build.sh
Se você deseja executar o Travis-Build localmente em sua máquina (por exemplo, para interagir com o trabalhador), também pode executá-lo como um contêiner do Docker com o Docker-Comppose:
Primeiro, construa a imagem:
docker-compose build web
Segundo, execute a imagem:
docker-compose run web
Você pode correr com uma configuração diferente para o desenvolvimento local. A seguir, mostra a execução travis-build
no ambiente development
, encaminhando a porta 4000 do Docker Image para a porta 4000 do host:
docker-compose run -e RACK_ENV=development -p 4000:4000 web
Para construí -lo e executá -lo. Isso criará um contêiner com o conteúdo do repositório travis-build
no diretório /usr/src/app
e iniciará você nesse diretório. A partir daí, você pode executar os comandos listados no uso como addon for travis cli seção para disponibilizar o comando de compilação para travis cli dentro do contêiner.
Consulte o arquivo de licença.
Copyright (C) 2011-2016 TRAVIS CI Development Team.