Basic TravisCI Information
Last updated
Last updated
Impara e pratica AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Impara e pratica GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
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 a codice, stati di commit, collaboratori e stati di distribuzione per repository e organizzazioni pubbliche e private.
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à).
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 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.
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:
Travis CI Enterprise è una versione on-prem di Travis CI, che puoi distribuire nella tua infrastruttura. Pensa alla versione ‘server’ di Travis CI. Utilizzare Travis CI 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 distribuire un cluster Kubernetes; può essere distribuito in un cluster di server o in una singola macchina se necessario.
A seconda della tua configurazione, potresti voler distribuire 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 distribuita 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 distribuiti e delle immagini OS dell'ambiente di build determinerà la capacità totale concorrente della distribuzione 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)