Basic TravisCI Information

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

Pristup

TravisCI direktno integriše sa različitim git platformama poput Github-a, Bitbucket-a, Assembla-e i Gitlab-a. Zatražiće od korisnika da dozvoli TravisCI-ju pristup repozitorijumima sa kojima želi da integriše TravisCI.

Na primer, u Github-u će zatražiti sledeće dozvole:

  • user:email (samo čitanje)

  • read:org (samo čitanje)

  • repo: Dodeljuje pristup za čitanje i pisanje koda, statusa commit-a, saradnika i statusa implementacije za javne i privatne repozitorijume i organizacije.

Enkriptovani Tajni

Promenljive Okruženja

U TravisCI-ju, kao i na drugim CI platformama, moguće je sačuvati tajne na nivou repozitorijuma koje će biti sačuvane enkriptovane i biti dekriptovane i postavljene u promenljivu okruženja mašine koja izvršava izgradnju.

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 hoće).

Prilagođene Enkriptovane Tajne

Za svaki repozitorijum TravisCI generiše RSA par ključeva, čuva privatni ključ, i čini javni ključ 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 šifrujete tajne i dodate ih u svoj .travis.yaml. Tajne će biti dešifrovane kada se izvrši izgradnja i biće dostupne u promenljivama okruženja.

Imajte na umu da tajne šifrovane na ovaj način neće biti navedene u promenljivama okruženja postavki.

Prilagođene šifrovane datoteke

Na isti način kao i prethodno, TravisCI takođe omogućava da se šifruju datoteke, a zatim dešifruju 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.

Note that when encrypting a file 2 Env Variables will be configured inside the repo such as:

TravisCI Enterprise

Travis CI Enterprise je on-prem verzija Travis CI, koju možete implementirati u svoju infrastrukturu. Zamislite 'server' verziju Travis CI-ja. Korišćenjem Travis CI-ja omogućava vam da omogućite sistem kontinuirane integracije/kontinuirane isporuke (CI/CD) koji je jednostavan za korišćenje u okruženju koje možete konfigurisati i obezbediti po vašim željama.

Travis CI Enterprise se sastoji od dva glavna dela:

  1. TCI servisi (ili TCI Core Servisi), odgovorni za integraciju sa sistemima za kontrolu verzija, autorizaciju izgradnji, zakazivanje poslova izgradnje, itd.

  2. TCI Worker i slike okruženja za izgradnju (takođe nazvane OS slike).

TCI Core servisi zahtevaju sledeće:

  1. Bazu podataka PostgreSQL11 (ili noviju).

  2. Infrastrukturu za implementaciju Kubernetes klastera; može se implementirati u klasteru servera ili na jednom računaru ako je potrebno.

  3. Zavisno od vaše postavke, možda ćete želeti da implementirate i konfigurišete neke od komponenti sami, npr. RabbitMQ - pogledajte Postavljanje 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 izgradnu sliku.

  2. Povezanost sa određenim komponentama Travis CI Core Servisa - pogledajte Postavljanje Workera za više detalja.

Broj implementiranih TCI Workera i slika okruženja za izgradnju OS će odrediti ukupni trenutni kapacitet implementacije Travis CI Enterprise u vašoj infrastrukturi.

Last updated