Basic TravisCI Information

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 loro 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 d'ambiente saranno configurate all'interno del repository, come ad esempio:

TravisCI Enterprise

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 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 distribuire un cluster Kubernetes; può essere distribuito in un cluster di server o in una singola macchina se necessario.

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

  1. Un'infrastruttura dove può essere distribuita 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 distribuiti e immagini OS dell'ambiente di build determinerà la capacità totale concorrente della distribuzione di Travis CI Enterprise nella tua infrastruttura.

Supporta HackTricks

Last updated