Msingi wa Taarifa za TravisCI

Reading time: 4 minutes

tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Jifunze na fanya mazoezi ya Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks

Ufikiaji

TravisCI inaunganishwa moja kwa moja na majukwaa tofauti ya git kama Github, Bitbucket, Assembla, na Gitlab. Itamuuliza mtumiaji kutoa ruhusa kwa TravisCI kufikia repos anazotaka kuunganisha na TravisCI.

Kwa mfano, katika Github itahitaji ruhusa zifuatazo:

  • user:email (kusoma tu)
  • read:org (kusoma tu)
  • repo: Inatoa ruhusa ya kusoma na kuandika kwa msimbo, hali za kujitolea, washirikishi, na hali za kutekeleza kwa hazina za umma na za kibinafsi na mashirika.

Siri Zilizofichwa

Mabadiliko ya Mazingira

Katika TravisCI, kama katika majukwaa mengine ya CI, inawezekana kuhifadhi siri kwenye kiwango cha repo ambazo zitahifadhiwa kwa njia ya usimbaji na kufichuliwa na kusukumwa katika mabadiliko ya mazingira ya mashine inayotekeleza ujenzi.

Inawezekana kuashiria matawi ambayo siri zitapatikana (kwa kawaida yote) na pia kama TravisCI inapaswa kuficha thamani yake ikiwa itaonekana katika kumbukumbu (kwa kawaida itafanya hivyo).

Siri Zilizofichwa za Kijadi

Kwa kila repo TravisCI inazalisha RSA keypair, inaweka ile binafsi, na inafanya funguo ya umma ya hazina ipatikane kwa wale walio na ufikiaji wa hazina hiyo.

Unaweza kufikia funguo ya umma ya repo moja kwa:

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

Kisha, unaweza kutumia mpangilio huu kuandika siri na kuziweka kwenye .travis.yaml. Siri zitakuwa zimefichuliwa wakati ujenzi unapoendeshwa na zinapatikana katika mabadiliko ya mazingira.

Kumbuka kwamba siri zilizofichwa kwa njia hii hazitaonekana kwenye orodha ya mabadiliko ya mazingira ya mipangilio.

Faili za Kificho za Kawaida

Kwa njia ile ile kama hapo awali, TravisCI pia inaruhusu kuficha faili na kisha kuzifichua wakati wa ujenzi:

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.

Kumbuka kwamba unapofanya usimbaji wa faili, Variables 2 za Env zitawekwa ndani ya repo kama:

TravisCI Enterprise

Travis CI Enterprise ni toleo la ndani la Travis CI, ambalo unaweza kupeleka katika miundombinu yako. Fikiria kuhusu toleo la 'server' la Travis CI. Kutumia Travis CI kunakuwezesha kuwezesha mfumo rahisi wa Kuunganisha Endelevu/Kupeleka Endelevu (CI/CD) katika mazingira, ambayo unaweza kuunda na kulinda kama unavyotaka.

Travis CI Enterprise ina sehemu mbili kuu:

  1. TCI huduma (au TCI Core Services), zinazohusika na kuunganishwa na mifumo ya kudhibiti toleo, kuidhinisha ujenzi, kupanga kazi za ujenzi, nk.
  2. TCI Worker na picha za mazingira ya ujenzi (pia huitwa picha za OS).

Huduma za TCI Core zinahitaji yafuatayo:

  1. Hifadhidata ya PostgreSQL11 (au baadaye).
  2. Miundombinu ya kupeleka kundi la Kubernetes; inaweza kupelekwa katika kundi la seva au katika mashine moja ikiwa inahitajika.
  3. Kulingana na mipangilio yako, unaweza kutaka kupeleka na kuunda mipangilio ya baadhi ya vipengele mwenyewe, e.g., RabbitMQ - angalia Kuweka Travis CI Enterprise kwa maelezo zaidi.

TCI Worker inahitaji yafuatayo:

  1. Miundombinu ambapo picha ya docker inayojumuisha Worker na picha ya ujenzi iliyounganishwa inaweza kupelekwa.
  2. Uunganisho kwa baadhi ya vipengele vya Travis CI Core Services - angalia Kuweka Worker kwa maelezo zaidi.

Kiasi cha TCI Worker na picha za mazingira ya ujenzi zilizopelekwa kitaamua uwezo wa jumla wa sambamba wa kupeleka Travis CI Enterprise katika miundombinu yako.

tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Jifunze na fanya mazoezi ya Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks