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

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:

  1. TCI usluge (ili TCI Core Services), odgovorne za integraciju sa sistemima za kontrolu verzija, autorizaciju gradnji, zakazivanje poslova gradnje, itd.
  2. TCI Worker i slike okruženja za gradnju (takođe nazvane OS slike).

TCI Core usluge zahtevaju sledeće:

  1. PostgreSQL11 (ili noviji) bazu podataka.
  2. Infrastrukturu za implementaciju Kubernetes klastera; može se implementirati u klasteru servera ili na jednoj mašini ako je potrebno.
  3. 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:

  1. Infrastrukturu gde se može implementirati docker slika koja sadrži Worker i povezanu sliku za gradnju.
  2. 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