Basic TravisCI Information
Impara e pratica AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Impara e pratica GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Accesso
TravisCI si integra direttamente con diverse piattaforme git come Github, Bitbucket, Assembla e Gitlab. Chiederà all'utente di dare a TravisCI i permessi per accedere ai repo che desidera integrare con TravisCI.
Ad esempio, in Github chiederà i seguenti permessi:
user:email
(solo lettura)read:org
(solo lettura)repo
: Concede accesso in lettura e scrittura al codice, agli stati di commit, ai collaboratori e agli stati di distribuzione per repository e organizzazioni pubbliche e private.
Segreti Cifrati
Variabili d'Ambiente
In TravisCI, come in altre piattaforme CI, è possibile salvare a livello di repo segreti che saranno salvati cifrati e decrittati e inviati nella variabile d'ambiente della macchina che esegue la build.
È possibile indicare le branche a cui i segreti saranno disponibili (per impostazione predefinita tutte) e anche se TravisCI dovrebbe nascondere il suo valore se appare nei log (per impostazione predefinita lo farà).
Segreti Cifrati Personalizzati
Per ogni repo TravisCI genera un coppia di chiavi RSA, mantiene quella privata e rende disponibile la chiave pubblica del repository a coloro che hanno accesso al repository.
Puoi accedere alla chiave pubblica di un repo con:
Poi, puoi utilizzare questa configurazione per crittografare i segreti e aggiungerli al tuo .travis.yaml
. I segreti saranno decrittografati quando viene eseguita la build e accessibili nelle variabili d'ambiente.
Nota che i segreti crittografati in questo modo non appariranno elencati nelle variabili d'ambiente delle impostazioni.
File Crittografati Personalizzati
Allo stesso modo di prima, TravisCI consente anche di crittografare file e poi decrittografarli durante la build:
Nota che quando si cripta un file, 2 variabili di ambiente saranno configurate all'interno del repository, come ad esempio:
TravisCI Enterprise
Travis CI Enterprise è una versione on-prem di Travis CI, che puoi implementare nella tua infrastruttura. Pensa alla versione ‘server’ di Travis CI. Utilizzare Travis CI ti consente di abilitare un sistema di Integrazione Continua/Distribuzione Continua (CI/CD) facile da usare in un ambiente, che puoi configurare e proteggere come desideri.
Travis CI Enterprise è composto da due parti principali:
Servizi TCI (o Servizi Core TCI), responsabili dell'integrazione con i sistemi di controllo versione, autorizzazione delle build, pianificazione dei lavori di build, ecc.
TCI Worker e immagini dell'ambiente di build (chiamate anche immagini OS).
I servizi Core TCI richiedono quanto segue:
Un database PostgreSQL11 (o successivo).
Un'infrastruttura per implementare un cluster Kubernetes; può essere implementato in un cluster di server o in una singola macchina se necessario.
A seconda della tua configurazione, potresti voler implementare e configurare alcuni dei componenti da solo, ad esempio, RabbitMQ - consulta il Setting up Travis CI Enterprise per ulteriori dettagli.
Il Worker TCI richiede quanto segue:
Un'infrastruttura dove può essere implementata un'immagine docker contenente il Worker e un'immagine di build collegata.
Connettività a determinati componenti dei Servizi Core di Travis CI - consulta il Setting Up Worker per ulteriori dettagli.
La quantità di Worker TCI e immagini OS dell'ambiente di build implementate determinerà la capacità totale concorrente dell'implementazione di Travis CI Enterprise nella tua infrastruttura.
Impara e pratica Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Impara e pratica Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Last updated