Basic TravisCI Information

Aprende hacking en AWS de cero a héroe con htARTE (Experto en Red de HackTricks AWS)!

Otras formas de apoyar a HackTricks:

Acceso

TravisCI se integra directamente con diferentes plataformas de git como Github, Bitbucket, Assembla y Gitlab. Pedirá al usuario que otorgue permisos a TravisCI para acceder a los repositorios que desea integrar con TravisCI.

Por ejemplo, en Github pedirá los siguientes permisos:

  • user:email (solo lectura)

  • read:org (solo lectura)

  • repo: Concede acceso de lectura y escritura al código, estados de confirmación, colaboradores y estados de implementación para repositorios y organizaciones públicas y privadas.

Secretos Encriptados

Variables de Entorno

En TravisCI, al igual que en otras plataformas de CI, es posible guardar secretos a nivel de repositorio que se guardarán encriptados y se descifrarán y se enviarán en la variable de entorno de la máquina que ejecuta la compilación.

Es posible indicar las ramas a las que los secretos estarán disponibles (por defecto todas) y también si TravisCI debería ocultar su valor si aparece en los registros (por defecto lo hará).

Secretos Encriptados Personalizados

Para cada repositorio TravisCI genera un par de claves RSA, guarda la privada, y pone a disposición de quienes tienen acceso al repositorio la clave pública del repositorio.

Puedes acceder a la clave pública de un repositorio con:

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

Entonces, puedes usar esta configuración para encriptar secretos y agregarlos a tu .travis.yaml. Los secretos serán descifrados cuando se ejecute la compilación y serán accesibles en las variables de entorno.

Ten en cuenta que los secretos encriptados de esta manera no aparecerán en la lista de variables ambientales de la configuración.

Archivos Encriptados Personalizados

De la misma manera que antes, TravisCI también permite encriptar archivos y luego descifrarlos durante la compilación:

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.

TravisCI Enterprise

Travis CI Enterprise es una versión local de Travis CI, que puedes implementar en tu infraestructura. Piensa en la versión 'servidor' de Travis CI. Usar Travis CI te permite habilitar un sistema de Integración Continua/Despliegue Continuo (CI/CD) fácil de usar en un entorno que puedes configurar y asegurar según tus necesidades.

Travis CI Enterprise consta de dos partes principales:

  1. Servicios de TCI (o Servicios Centrales de TCI), responsables de la integración con sistemas de control de versiones, autorización de compilaciones, programación de trabajos de compilación, etc.

  2. Trabajador de TCI e imágenes de entorno de compilación (también llamadas imágenes de SO).

Los servicios centrales de TCI requieren lo siguiente:

  1. Una base de datos PostgreSQL11 (o posterior).

  2. Una infraestructura para implementar un clúster de Kubernetes; puede implementarse en un clúster de servidores o en una sola máquina si es necesario.

  3. Dependiendo de tu configuración, es posible que desees implementar y configurar algunos de los componentes por tu cuenta, por ejemplo, RabbitMQ; consulta Configuración de Travis CI Enterprise para más detalles.

El trabajador de TCI requiere lo siguiente:

  1. Una infraestructura donde se pueda implementar una imagen de docker que contenga el Trabajador y una imagen de compilación vinculada.

  2. Conectividad a ciertos componentes de los Servicios Centrales de TCI de Travis CI; consulta Configuración del Trabajador para más detalles.

La cantidad de trabajadores de TCI y de imágenes de entorno de SO de compilación implementadas determinará la capacidad concurrente total de la implementación de Travis CI Enterprise en tu infraestructura.

Última actualización