Basic TravisCI Information

Impara l'hacking di AWS da zero a eroe con htARTE (Esperto Red Team AWS di HackTricks)!

Altri modi per supportare HackTricks:

Accesso

TravisCI si integra direttamente con diverse piattaforme git come Github, Bitbucket, Assembla e Gitlab. Chiederà all'utente di concedere le autorizzazioni a TravisCI per accedere ai repository che desidera integrare con TravisCI.

Ad esempio, su Github chiederà i seguenti permessi:

  • user:email (sola lettura)

  • read:org (sola lettura)

  • repo: Concede accesso in lettura e scrittura al codice, agli stati dei commit, ai collaboratori e agli stati di distribuzione per repository e organizzazioni pubblici e privati.

Secreti Crittografati

Variabili d'Ambiente

In TravisCI, come in altre piattaforme CI, è possibile salvare segreti a livello di repository che verranno salvati in modo crittografato e decifrati e inseriti nella variabile d'ambiente della macchina che esegue la build.

È possibile indicare i branch a cui i segreti saranno disponibili (per impostazione predefinita tutti) e anche se TravisCI dovrebbe nascondere il suo valore se appare nei log (per impostazione predefinita lo farà).

Secreti Crittografati Personalizzati

Per ogni repository TravisCI genera una coppia di chiavi RSA, mantiene quella privata e rende disponibile la chiave pubblica del repository a coloro che hanno accesso al repository.

È possibile accedere alla chiave pubblica di un repository con:

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

Quindi, puoi utilizzare questa configurazione per crittografare segreti e aggiungerli al tuo file .travis.yaml. I segreti verranno decrittati quando viene eseguito il build e saranno accessibili nelle variabili d'ambiente.

Si noti che i segreti crittografati in questo modo non appariranno elencati nelle variabili ambientali delle impostazioni.

File Crittografati Personalizzati

Nello stesso modo di prima, TravisCI consente anche di crittografare file e poi decrittografarli durante il 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 crittografa un file verranno configurate 2 variabili d'ambiente all'interno del repository come:

TravisCI Enterprise

Travis CI Enterprise è una versione on-prem di Travis CI, che puoi implementare nella tua infrastruttura. Pensalo come la versione 'server' di Travis CI. Utilizzare Travis CI ti consente di abilitare un sistema di Integrazione Continua/Deployment Continuo (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, dell'autorizzazione delle build, della pianificazione dei lavori di build, ecc.

  2. Worker TCI 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 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 Configurazione di Travis CI Enterprise per ulteriori dettagli.

Il Worker TCI richiede quanto segue:

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

  2. Connessione a determinati componenti dei Servizi Core TCI di Travis CI - consulta Configurazione del Worker per ulteriori dettagli.

Il numero di Worker TCI implementati e delle immagini OS dell'ambiente di build determinerà la capacità totale concorrente dell'implementazione di Travis CI Enterprise nella tua infrastruttura.

Impara l'hacking AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks:

Last updated