Basic TravisCI Information

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert en équipe rouge AWS de HackTricks)!

Autres façons de 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 autorisations d'accéder aux dépôts qu'il souhaite intégrer avec TravisCI.

Par exemple, sur Github, il demandera les autorisations suivantes :

  • user:email (lecture seule)

  • read:org (lecture seule)

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

Secrets Chiffrés

Variables d'Environnement

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

Il est possible d'indiquer les branches auxquelles les secrets seront disponibles (par défaut toutes) et également si TravisCI doit masquer sa valeur s'il apparaît dans les journaux (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 à 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 fichier .travis.yaml. Les secrets seront déchiffrés lors de l'exécution de la construction et accessibles dans les variables d'environnement.

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

Fichiers Chiffrés Personnalisés

De la même manière qu'auparavant, 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 à l'intérieur du 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 principaux TCI), responsables de l'intégration avec les systèmes de contrôle de version, de l'autorisation des constructions, de la planification des travaux de construction, etc.

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

Les services principaux TCI nécessitent ce qui suit :

  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. Selon votre configuration, vous voudrez peut-être déployer et configurer certains des composants par vous-même, par exemple RabbitMQ - consultez la Configuration de Travis CI Enterprise pour plus de détails.

Le Worker TCI nécessite ce qui suit :

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

  2. La connectivité à certains composants des services principaux TCI de Travis CI - consultez la Configuration du Worker pour plus de détails.

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

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert en équipe rouge AWS de HackTricks)!

Autres façons de soutenir HackTricks :

Dernière mise à jour