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)

Supporta HackTricks

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:

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

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:

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.

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:

  1. Servizi TCI (o Servizi Core TCI), responsabili dell'integrazione con i sistemi di controllo versione, autorizzazione delle build, pianificazione dei lavori di build, ecc.

  2. TCI Worker e immagini dell'ambiente di build (chiamate anche immagini OS).

I servizi Core TCI richiedono quanto segue:

  1. Un database PostgreSQL11 (o successivo).

  2. Un'infrastruttura per implementare un cluster Kubernetes; può essere implementato in un cluster di server o in una singola macchina se necessario.

  3. 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:

  1. Un'infrastruttura dove può essere implementata un'immagine docker contenente il Worker e un'immagine di build collegata.

  2. 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)

Supporta HackTricks

Last updated