Basic TravisCI Information
Last updated
Last updated
Apprenez et pratiquez le hacking AWS :HackTricks Formation AWS Red Team Expert (ARTE) Apprenez et pratiquez le hacking GCP : HackTricks Formation GCP Red Team Expert (GRTE)
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.
Dans TravisCI, comme dans d'autres plateformes CI, il est possible de sauvegarder des secrets au niveau du dépôt 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 construction.
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 journaux (par défaut, il le fera).
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 :
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 la liste des variables d'environnement des paramètres.
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 :
Notez que lors du chiffrement d'un fichier, 2 variables d'environnement seront configurées dans le dépôt, telles que :
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. Utiliser 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 :
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.
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 :
Une base de données PostgreSQL11 (ou ultérieure).
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.
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 :
Une infrastructure où une image docker contenant le Worker et une image de build liée peuvent être déployées.
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.
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE) Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)