Osnovne informacije o TravisCI
Reading time: 4 minutes
tip
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Pristup
TravisCI se direktno integriše sa različitim git platformama kao što su Github, Bitbucket, Assembla i Gitlab. Pitaće korisnika da da TravisCI dozvole za pristup repozitorijumima koje želi da integriše sa TravisCI.
Na primer, u Github-u će tražiti sledeće dozvole:
user:email
(samo za čitanje)read:org
(samo za čitanje)repo
: Daje pristup za čitanje i pisanje koda, statusa commit-a, saradnika i statusa implementacije za javne i privatne repozitorijume i organizacije.
Enkriptovane tajne
Promenljive okruženja
U TravisCI, kao i na drugim CI platformama, moguće je sačuvati tajne na nivou repozitorijuma koje će biti sačuvane enkriptovane i biće dekriptovane i postavljene u promenljive okruženja mašine koja izvršava gradnju.
Moguće je naznačiti grane na kojima će tajne biti dostupne (podrazumevano sve) i takođe da li TravisCI treba da sakrije njenu vrednost ako se pojavi u logovima (podrazumevano će).
Prilagođene enkriptovane tajne
Za svaki repozitorijum TravisCI generiše RSA ključni par, čuva privatni ključ, i čini javnim ključem repozitorijuma dostupnim onima koji imaju pristup repozitorijumu.
Možete pristupiti javnom ključu jednog repozitorijuma sa:
travis pubkey -r <owner>/<repo_name>
travis pubkey -r carlospolop/t-ci-test
Zatim, možete koristiti ovu postavku da enkriptujete tajne i dodate ih u vaš .travis.yaml
. Tajne će biti dekriptovane kada se izgradnja pokrene i biće dostupne u promenljivim okruženja.
Imajte na umu da tajne enkriptovane na ovaj način neće biti navedene u promenljivim okruženja podešavanja.
Prilagođene Enkriptovane Datoteke
Na isti način kao i pre, TravisCI takođe omogućava da enkriptujete datoteke i zatim ih dekriptujete tokom izgradnje:
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.
Napomena da će prilikom enkripcije datoteke 2 Env Varijable biti konfigurisane unutar repozitorijuma kao što su:
TravisCI Enterprise
Travis CI Enterprise je on-prem verzija Travis CI, koju možete implementirati u svojoj infrastrukturi. Zamislite 'server' verziju Travis CI. Korišćenje Travis CI omogućava vam da omogućite jednostavan sistem Kontinuirane Integracije/Kontinuirane Isporuke (CI/CD) u okruženju koje možete konfigurisati i obezbediti kako želite.
Travis CI Enterprise se sastoji od dva glavna dela:
- TCI usluge (ili TCI Core Services), odgovorne za integraciju sa sistemima za kontrolu verzija, autorizaciju gradnji, zakazivanje poslova gradnje, itd.
- TCI Worker i slike okruženja za gradnju (takođe nazvane OS slike).
TCI Core usluge zahtevaju sledeće:
- PostgreSQL11 (ili noviji) bazu podataka.
- Infrastrukturu za implementaciju Kubernetes klastera; može se implementirati u klasteru servera ili na jednoj mašini ako je potrebno.
- U zavisnosti od vaše konfiguracije, možda ćete želeti da implementirate i konfigurišete neke od komponenti sami, npr., RabbitMQ - pogledajte Podešavanje Travis CI Enterprise za više detalja.
TCI Worker zahteva sledeće:
- Infrastrukturu gde se može implementirati docker slika koja sadrži Worker i povezanu sliku za gradnju.
- Povezivost sa određenim komponentama Travis CI Core Services - pogledajte Podešavanje Workera za više detalja.
Količina implementiranih TCI Worker i OS slika okruženja za gradnju odrediće ukupni kapacitet istovremenog korišćenja Travis CI Enterprise implementacije u vašoj infrastrukturi.
tip
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.