Basic TravisCI Information

Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι για να υποστηρίξετε το HackTricks:

Πρόσβαση

Το TravisCI ενσωματώνεται απευθείας με διάφορες πλατφόρμες git, όπως το Github, το Bitbucket, το Assembla και το Gitlab. Θα ζητήσει από τον χρήστη να δώσει δικαιώματα στο TravisCI για να έχει πρόσβαση στα αποθετήρια που θέλει να ενσωματώσει με το TravisCI.

Για παράδειγμα, στο Github θα ζητήσει τα εξής δικαιώματα:

  • user:email (μόνο για ανάγνωση)

  • read:org (μόνο για ανάγνωση)

  • repo: Χορηγεί ανάγνωση και εγγραφή πρόσβαση στον κώδικα, τις καταστάσεις δέσμευσης, τους συνεργάτες και τις καταστάσεις αναπτύξεων για δημόσια και ιδιωτικά αποθετήρια και οργανισμούς.

Κρυπτογραφημένα Μυστικά

Μεταβλητές Περιβάλλοντος

Στο TravisCI, όπως και σε άλλες πλατφόρμες CI, είναι δυνατόν να αποθηκεύσετε μυστικά σε επίπεδο αποθετηρίου που θα αποθηκευτούν κρυπτογραφημένα και θα αποκρυπτογραφηθούν και να προωθηθούν στη μεταβλητή περιβάλλοντος της μηχανής που εκτελεί τη διαδικασία κατασκευής.

Είναι δυνατόν να υποδείξετε τα κλαδιά στα οποία τα μυστικά θα είναι διαθέσιμα (από προεπιλογή όλα) και επίσης εάν το TravisCI πρέπει να αποκρύψει την τιμή του εάν εμφανίζεται στα αρχεία καταγραφής (από προεπιλογή θα το κάνει).

Προσαρμοσμένα Κρυπτογραφημένα Μυστικά

Για κάθε αποθετήριο, το TravisCI δημιουργεί ένα ζευγάρι κλειδιών RSA, κρατά το ιδιωτικό και καθιστά το δημόσιο κλειδί του αποθετηρίου διαθέσιμο σε όσους έχουν πρόσβαση στο αποθετήριο.

Μπορείτε να αποκτήσετε πρόσβαση στο δημόσιο κλειδί ενός αποθετηρίου με:

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

Στη συνέχεια, μπορείτε να χρησιμοποιήσετε αυτήν τη ρύθμιση για να κρυπτογραφήσετε μυστικά και να τα προσθέσετε στο .travis.yaml. Τα μυστικά θα αποκρυπτογραφηθούν κατά την εκτέλεση της διαδικασίας και θα είναι προσβάσιμα μέσω των μεταβλητών περιβάλλοντος.

Σημειώστε ότι τα μυστικά που έχουν κρυπτογραφηθεί με αυτόν τον τρόπο δεν θα εμφανίζονται στη λίστα των μεταβλητών περιβάλλοντος των ρυθμίσεων.

Προσαρμοσμένα Κρυπτογραφημένα Αρχεία

Με τον ίδιο τρόπο όπως πριν, το 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 μεταβλητές περιβάλλοντος μέσα στο αποθετήριο όπως:

TravisCI Enterprise

Το Travis CI Enterprise είναι μια εκδοχή του Travis CI που εκτελείται στον χώρο σας, την οποία μπορείτε να εγκαταστήσετε στην υποδομή σας. Σκεφτείτε την 'εκδοχή διακομιστή' του Travis CI. Χρησιμοποιώντας το Travis CI σας επιτρέπει να ενεργοποιήσετε ένα εύχρηστο σύστημα Συνεχούς Ενσωμάτωσης/Συνεχούς Παράδοσης (CI/CD) σε ένα περιβάλλον, το οποίο μπορείτε να διαμορφώσετε και να ασφαλίσετε όπως επιθυμείτε.

Το Travis CI Enterprise αποτελείται από δύο κύρια μέρη:

  1. Οι υπηρεσίες TCI (ή TCI Core Services), υπεύθυνες για την ενσωμάτωση με συστήματα ελέγχου εκδόσεων, την εξουσιοδότηση των κατασκευών, τον προγραμματισμό των θέσεων κατασκευής κ.λπ.

  2. Ο εργαζόμενος TCI και οι εικόνες περιβάλλοντος κατασκευής (επίσης ονομάζονται εικόνες λειτουργικού συστήματος).

Οι υπηρεσίες TCI Core απαιτούν τα εξής:

  1. Μια βάση δεδομένων PostgreSQL11 (ή μεταγενέστερη).

  2. Μια υποδομή για την εγκατάσταση ενός συστήματος Kubernetes. Μπορεί να εγκατασταθεί σε ένα σύμπλεγμα διακομιστών ή σε έναν μόνο υπολογιστή, αν απαιτείται.

  3. Ανάλογα με τη ρύθμισή σας, μπορεί να θέλετε να εγκαταστήσετε και να διαμορφώσετε ορισμένα από τα στοιχεία μόνοι σας, π.χ. RabbitMQ - δείτε το Ρύθμιση του Travis CI Enterprise για περισσότερες λεπτομέρειες.

Ο εργαζόμενος TCI απαιτεί τα εξής:

  1. Μια υποδομή όπου μπορεί να εγκατασταθεί μια εικόνα docker που περιέχει τον εργαζόμενο και μια συνδεδεμένη εικόνα κατασκευής.

  2. Σύνδεση με ορισμένα στοιχεία των υπηρεσιών TCI Core - δείτε το Ρύθμιση του Εργαζομένου για περισσότερες λεπτομέρειες.

Ο αριθμός των εγκατεστημένων εργαζομένων TCI και εικόνων περιβάλλοντος κατασκευής θα καθορίσει τη συνολική ταυτόχρονη χωρητικότητα της εγκατάστασης Travis CI Enterprise στην υποδομή σας.

Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι για να υποστηρίξετε το HackTricks:

Last updated