Basic TravisCI Information

Aprenda hacking AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Outras maneiras de apoiar o HackTricks:

Acesso

O TravisCI integra diretamente com diferentes plataformas git como Github, Bitbucket, Assembla e Gitlab. Ele solicitará ao usuário permissões para acessar os repositórios que ele deseja integrar com o TravisCI.

Por exemplo, no Github, ele solicitará as seguintes permissões:

  • user:email (somente leitura)

  • read:org (somente leitura)

  • repo: Concede acesso de leitura e escrita ao código, status de commit, colaboradores e status de implantação para repositórios públicos e privados e organizações.

Segredos Criptografados

Variáveis de Ambiente

No TravisCI, assim como em outras plataformas CI, é possível salvar segredos no nível do repositório que serão salvos criptografados e descriptografados e inseridos na variável de ambiente da máquina que executa a compilação.

É possível indicar os branches nos 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 irá).

Segredos Criptografados Personalizados

Para cada repositório, o TravisCI gera um par de chaves RSA, mantém a privada e disponibiliza a chave pública do repositório para aqueles que têm acesso ao repositório.

Você pode acessar a chave pública de um repositório com:

travis pubkey -r <owner>/<repo_name>
travis pubkey -r carlospolop/t-ci-test

Então, você pode usar essa configuração para criptografar segredos e adicioná-los ao seu .travis.yaml. Os segredos serão descriptografados quando a compilação for executada e acessíveis nas variáveis de ambiente.

Note que os segredos criptografados dessa maneira não aparecerão listados nas variáveis ambientais das configurações.

Arquivos Criptografados Personalizados

Da mesma forma que antes, o TravisCI também permite criptografar arquivos e depois descriptografá-los durante a compilação:

travis encrypt-file super_secret.txt -r carlospolop/t-ci-test

encrypting super_secret.txt for carlospolop/t-ci-test
storing result as super_secret.txt.enc
storing secure env variables for decryption

Please add the following to your build script (before_install stage in your .travis.yml, for instance):

openssl aes-256-cbc -K $encrypted_355e94ba1091_key -iv $encrypted_355e94ba1091_iv -in super_secret.txt.enc -out super_secret.txt -d

Pro Tip: You can add it automatically by running with --add.

Make sure to add super_secret.txt.enc to the git repository.
Make sure not to add super_secret.txt to the git repository.
Commit all changes to your .travis.yml.

Note que ao criptografar um arquivo, 2 Variáveis de Ambiente serão configuradas dentro do repositório, como:

TravisCI Enterprise

O Travis CI Enterprise é uma versão local 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ê habilite 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 conforme desejar.

O Travis CI Enterprise é composto por duas partes principais:

  1. Serviços do TCI (ou Serviços Principais do TCI), responsáveis pela integração com sistemas de controle de versão, autorização de compilações, agendamento de trabalhos de compilação, etc.

  2. Trabalhador do TCI e imagens de ambiente de compilação (também chamadas de imagens de SO).

Os serviços principais do TCI requerem o seguinte:

  1. Um banco de dados PostgreSQL11 (ou posterior).

  2. Uma infraestrutura para implantar um cluster Kubernetes; pode ser implantado em um cluster de servidores ou em uma única máquina, se necessário.

  3. Dependendo da sua configuração, você pode querer implantar e configurar alguns dos componentes por conta própria, por exemplo, RabbitMQ - consulte a Configuração do Travis CI Enterprise para mais detalhes.

O Trabalhador do TCI requer o seguinte:

  1. Uma infraestrutura onde uma imagem docker contendo o Trabalhador e uma imagem de compilação vinculada possa ser implantada.

  2. Conectividade com certos componentes dos Serviços Principais do Travis CI - consulte a Configuração do Trabalhador para mais detalhes.

A quantidade de Trabalhadores do TCI implantados e imagens de SO de ambiente de compilação determinará a capacidade total de concorrência da implantação do Travis CI Enterprise em sua infraestrutura.

Aprenda hacking AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Outras maneiras de apoiar o HackTricks:

Última actualización