Basic TravisCI Information
Tip
Μάθετε & εξασκηθείτε στο AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Υποστηρίξτε το HackTricks
- Δείτε τα subscription plans!
- Εγγραφείτε στο 💬 Discord group ή την telegram group ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε τα hacking tricks υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
Access
Το TravisCI ενσωματώνεται απευθείας με διάφορες πλατφόρμες git όπως το Github, το Bitbucket, το Assembla και το Gitlab. Θα ζητήσει από τον χρήστη να δώσει στο TravisCI άδειες για να έχει πρόσβαση στα αποθετήρια που θέλει να ενσωματώσει με το TravisCI.
Για παράδειγμα, στο Github θα ζητήσει τις εξής άδειες:
user:email(μόνο για ανάγνωση)read:org(μόνο για ανάγνωση)repo: Παρέχει πρόσβαση για ανάγνωση και εγγραφή στον κώδικα, τις καταστάσεις commit, τους συνεργάτες και τις καταστάσεις ανάπτυξης για δημόσια και ιδιωτικά αποθετήρια και οργανισμούς.
Encrypted Secrets
Environment Variables
Στο TravisCI, όπως και σε άλλες πλατφόρμες CI, είναι δυνατόν να αποθηκεύσετε σε επίπεδο αποθετηρίου μυστικά που θα αποθηκευτούν κρυπτογραφημένα και θα αποκρυπτογραφηθούν και θα προωθηθούν στη μεταβλητή περιβάλλοντος της μηχανής που εκτελεί την κατασκευή.
.png)
Είναι δυνατόν να υποδείξετε τις κλάδους στους οποίους θα είναι διαθέσιμα τα μυστικά (κατά προεπιλογή όλα) και επίσης αν το TravisCI θα πρέπει να κρύψει την τιμή του αν εμφανιστεί στα logs (κατά προεπιλογή θα το κάνει).
Custom Encrypted Secrets
Για κάθε αποθετήριο το TravisCI δημιουργεί ένα RSA keypair, κρατά το ιδιωτικό και καθιστά διαθέσιμο το δημόσιο κλειδί του αποθετηρίου σε εκείνους που έχουν πρόσβαση στο αποθετήριο.
Μπορείτε να αποκτήσετε πρόσβαση στο δημόσιο κλειδί ενός αποθετηρίου με:
travis pubkey -r <owner>/<repo_name>
travis pubkey -r carlospolop/t-ci-test
Τότε, μπορείτε να χρησιμοποιήσετε αυτή τη ρύθμιση για να κρυπτογραφήσετε μυστικά και να τα προσθέσετε στο .travis.yaml. Τα μυστικά θα αποκρυπτογραφηθούν όταν εκτελείται η κατασκευή και θα είναι προσβάσιμα στις μεταβλητές περιβάλλοντος.
.png)
Σημειώστε ότι τα μυστικά που κρυπτογραφούνται με αυτόν τον τρόπο δεν θα εμφανίζονται στη λίστα των μεταβλητών περιβάλλοντος των ρυθμίσεων.
Προσαρμοσμένα Κρυπτογραφημένα Αρχεία
Με τον ίδιο τρόπο όπως πριν, το TravisCI επιτρέπει επίσης να κρυπτογραφήσετε αρχεία και στη συνέχεια να τα αποκρυπτογραφήσετε κατά τη διάρκεια της κατασκευής:
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.
Σημειώστε ότι κατά την κρυπτογράφηση ενός αρχείου, 2 Env Variables θα ρυθμιστούν μέσα στο repo όπως:
.png)
TravisCI Enterprise
Το Travis CI Enterprise είναι μια on-prem έκδοση του Travis CI, την οποία μπορείτε να αναπτύξετε στην υποδομή σας. Σκεφτείτε την ‘server’ έκδοση του Travis CI. Η χρήση του Travis CI σας επιτρέπει να ενεργοποιήσετε ένα εύχρηστο σύστημα Continuous Integration/Continuous Deployment (CI/CD) σε ένα περιβάλλον, το οποίο μπορείτε να ρυθμίσετε και να ασφαλίσετε όπως θέλετε.
Το Travis CI Enterprise αποτελείται από δύο κύρια μέρη:
- TCI υπηρεσίες (ή TCI Core Services), υπεύθυνες για την ενσωμάτωση με συστήματα ελέγχου εκδόσεων, την εξουσιοδότηση κατασκευών, τον προγραμματισμό εργασιών κατασκευής, κ.λπ.
- TCI Worker και εικόνες περιβάλλοντος κατασκευής (επίσης ονομάζονται OS images).
Οι υπηρεσίες TCI Core απαιτούν τα εξής:
- Μια PostgreSQL11 (ή νεότερη) βάση δεδομένων.
- Μια υποδομή για την ανάπτυξη ενός Kubernetes cluster; μπορεί να αναπτυχθεί σε ένα server cluster ή σε μια μόνο μηχανή αν απαιτείται.
- Ανάλογα με τη ρύθμισή σας, μπορεί να θέλετε να αναπτύξετε και να ρυθμίσετε ορισμένα από τα συστατικά μόνοι σας, π.χ., RabbitMQ - δείτε το Setting up Travis CI Enterprise για περισσότερες λεπτομέρειες.
Ο TCI Worker απαιτεί τα εξής:
- Μια υποδομή όπου μια εικόνα docker που περιέχει τον Worker και μια συνδεδεμένη εικόνα κατασκευής μπορεί να αναπτυχθεί.
- Συνδεσιμότητα με ορισμένα συστατικά των υπηρεσιών Travis CI Core - δείτε το Setting Up Worker για περισσότερες λεπτομέρειες.
Η ποσότητα των αναπτυγμένων TCI Worker και εικόνων περιβάλλοντος κατασκευής OS θα καθορίσει τη συνολική ταυτόχρονη ικανότητα ανάπτυξης του Travis CI Enterprise στην υποδομή σας.
.png)
Tip
Μάθετε & εξασκηθείτε στο AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Υποστηρίξτε το HackTricks
- Δείτε τα subscription plans!
- Εγγραφείτε στο 💬 Discord group ή την telegram group ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε τα hacking tricks υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
HackTricks Cloud

