Basic TravisCI Information

Soutenir HackTricks

Accès

TravisCI s'intègre directement avec différentes plateformes git telles que Github, Bitbucket, Assembla et Gitlab. Il demandera à l'utilisateur de donner à TravisCI les permissions d'accéder aux dépôts qu'il souhaite intégrer avec TravisCI.

Par exemple, dans Github, il demandera les permissions suivantes :

  • user:email (lecture seule)

  • read:org (lecture seule)

  • repo : Accorde un accès en lecture et en écriture au code, aux statuts de commit, aux collaborateurs et aux statuts de déploiement pour les dépôts et organisations publics et privés.

Secrets chiffrés

Variables d'environnement

Dans TravisCI, comme dans d'autres plateformes CI, il est possible de sauvegarder au niveau du dépôt des secrets qui seront sauvegardés chiffrés et seront décryptés et poussés dans la variable d'environnement de la machine exécutant la build.

Il est possible d'indiquer les branches auxquelles les secrets seront disponibles (par défaut toutes) et aussi si TravisCI doit cacher sa valeur si elle apparaît dans les logs (par défaut, il le fera).

Secrets chiffrés personnalisés

Pour chaque dépôt, TravisCI génère une paire de clés RSA, garde la clé privée, et rend la clé publique du dépôt disponible pour ceux qui ont accès au dépôt.

Vous pouvez accéder à la clé publique d'un dépôt avec :

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

Ensuite, vous pouvez utiliser cette configuration pour chiffrer des secrets et les ajouter à votre .travis.yaml. Les secrets seront décryptés lorsque la construction sera exécutée et accessibles dans les variables d'environnement.

Notez que les secrets chiffrés de cette manière n'apparaîtront pas dans les variables d'environnement des paramètres.

Fichiers Chiffrés Personnalisés

De la même manière que précédemment, TravisCI permet également de chiffrer des fichiers puis de les déchiffrer pendant la construction :

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.

Notez que lors du chiffrement d'un fichier, 2 variables d'environnement seront configurées dans le dépôt, telles que :

TravisCI Enterprise

Travis CI Enterprise est une version sur site de Travis CI, que vous pouvez déployer dans votre infrastructure. Pensez à la version ‘serveur’ de Travis CI. L'utilisation de Travis CI vous permet d'activer un système d'intégration continue/déploiement continu (CI/CD) facile à utiliser dans un environnement que vous pouvez configurer et sécuriser comme vous le souhaitez.

Travis CI Enterprise se compose de deux parties principales :

  1. Les services TCI (ou services de base TCI), responsables de l'intégration avec les systèmes de contrôle de version, de l'autorisation des builds, de la planification des tâches de build, etc.

  2. Le Worker TCI et les images d'environnement de build (également appelées images OS).

Les services de base TCI nécessitent les éléments suivants :

  1. Une base de données PostgreSQL11 (ou ultérieure).

  2. Une infrastructure pour déployer un cluster Kubernetes ; il peut être déployé dans un cluster de serveurs ou sur une seule machine si nécessaire.

  3. En fonction de votre configuration, vous souhaiterez peut-être déployer et configurer certains des composants vous-même, par exemple, RabbitMQ - consultez le Configuration de Travis CI Enterprise pour plus de détails.

Le Worker TCI nécessite les éléments suivants :

  1. Une infrastructure où une image docker contenant le Worker et une image de build liée peuvent être déployées.

  2. Connectivité à certains composants des services de base Travis CI - consultez le Configuration du Worker pour plus de détails.

Le nombre d'images OS de Worker TCI et d'environnement de build déployées déterminera la capacité totale concurrente du déploiement de Travis CI Enterprise dans votre infrastructure.

Support HackTricks

Last updated