Basic TravisCI Information
Last updated
Last updated
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
O TravisCI integra-se diretamente com diferentes plataformas git, como Github, Bitbucket, Assembla e Gitlab. Ele pedirá ao usuário que conceda permissões ao TravisCI para acessar os repositórios que ele deseja integrar ao TravisCI.
Por exemplo, no Github, ele pedirá as seguintes permissões:
user:email
(somente leitura)
read:org
(somente leitura)
repo
: Concede acesso de leitura e gravação ao código, status de commit, colaboradores e status de implantação para repositórios e organizações públicas e privadas.
No TravisCI, assim como em outras plataformas de CI, é possível salvar segredos a nível de repositório que serão salvos criptografados e decriptados e enviados na variável de ambiente da máquina que executa a construção.
É possível indicar os branches aos quais os segredos estarão disponíveis (por padrão, todos) e também se o TravisCI deve ocultar seu valor se ele aparecer nos logs (por padrão, ele fará isso).
Para cada repositório, o TravisCI gera um par de chaves RSA, mantém a privada e torna a chave pública do repositório disponível para aqueles que têm acesso ao repositório.
Você pode acessar a chave pública de um repositório com:
Então, você pode usar esta configuração para criptografar segredos e adicioná-los ao seu .travis.yaml
. Os segredos serão descriptografados quando a construção for executada e acessíveis nas variáveis de ambiente.
Observe que os segredos criptografados dessa forma não aparecerão listados nas variáveis de ambiente das configurações.
Da mesma forma que antes, o TravisCI também permite criptografar arquivos e depois descriptografá-los durante a construção:
Note que ao criptografar um arquivo, 2 Variáveis de Ambiente serão configuradas dentro do repositório, como:
Travis CI Enterprise é uma versão on-prem do Travis CI, que você pode implantar em sua infraestrutura. Pense na versão ‘servidor’ do Travis CI. Usar o Travis CI permite que você ative um sistema de Integração Contínua/Implantação Contínua (CI/CD) fácil de usar em um ambiente que você pode configurar e proteger como desejar.
Travis CI Enterprise consiste em duas partes principais:
Serviços TCI (ou Serviços Centrais TCI), responsáveis pela integração com sistemas de controle de versão, autorização de builds, agendamento de jobs de build, etc.
TCI Worker e imagens de ambiente de build (também chamadas de imagens de SO).
Os serviços centrais TCI requerem o seguinte:
Um banco de dados PostgreSQL11 (ou posterior).
Uma infraestrutura para implantar um cluster Kubernetes; pode ser implantado em um cluster de servidores ou em uma única máquina, se necessário.
Dependendo da sua configuração, você pode querer implantar e configurar alguns dos componentes por conta própria, por exemplo, RabbitMQ - veja o Configurando o Travis CI Enterprise para mais detalhes.
O Worker TCI requer o seguinte:
Uma infraestrutura onde uma imagem docker contendo o Worker e uma imagem de build vinculada podem ser implantadas.
Conectividade com certos componentes dos Serviços Centrais do Travis CI - veja o Configurando o Worker para mais detalhes.
A quantidade de Workers TCI implantados e imagens de ambiente de build OS determinará a capacidade total concorrente da implantação do Travis CI Enterprise em sua infraestrutura.
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)