Basic TravisCI Information

Support HackTricks

Upatikanaji

TravisCI inaunganisha moja kwa moja na majukwaa tofauti ya git kama vile Github, Bitbucket, Assembla, na Gitlab. Itamwomba mtumiaji kutoa ruhusa za TravisCI kufikia repos anazotaka kuunganisha na TravisCI.

Kwa mfano, katika Github itamwomba ruhusa zifuatazo:

  • user:email (soma tu)

  • read:org (soma tu)

  • repo: Inatoa ruhusa za kusoma na kuandika kwa msimbo, hali za kujitolea, washirika, na hali za kupelekwa kwa repos za umma na binafsi na mashirika.

Siri Zilizofichwa

Mabadiliko ya Mazingira

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

Inawezekana kuonyesha matawi ambayo siri zitapatikana (kwa chaguo-msingi zote) na pia kama TravisCI inapaswa kuficha thamani yake ikiwa itaonekana katika kumbukumbu (kwa chaguo-msingi itafanya hivyo).

Siri Zilizofichwa Maalum

Kwa kila repo TravisCI inazalisha jozi ya funguo za RSA, inachukua moja ya kibinafsi, na inafanya funguo ya umma ya repo ipatikane kwa wale ambao wana upatikanaji wa repo.

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 kuficha siri na kuziongeza kwenye .travis.yaml yako. Siri zitafichuliwa wakati ujenzi unafanywa na kupatikana katika mabadiliko ya mazingira.

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

Faili Zilizofichwa Maalum

Kama ilivyo 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.

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

TravisCI Enterprise

Travis CI Enterprise ni toleo la ndani la Travis CI, ambalo unaweza kupeleka katika miundombinu yako. Fikiria toleo la 'server' la Travis CI. Kutumia Travis CI hukuwezesha kuweka mfumo wa Continuous Integration/Continuous Deployment (CI/CD) rahisi kutumia katika mazingira, ambayo unaweza kusanidi na kulinda kama unavyotaka.

Travis CI Enterprise inajumuisha sehemu kuu mbili:

  1. Huduma za TCI (au Huduma za Msingi za TCI), zinazohusika na ujumuishaji na mifumo ya udhibiti wa toleo, kuidhinisha builds, kupanga kazi za build, nk.

  2. TCI Worker na picha za mazingira ya build (pia huitwa picha za OS).

Huduma za Msingi za TCI zinahitaji yafuatayo:

  1. PostgreSQL11 (au baadaye) database.

  2. Miundombinu ya kupeleka klasta ya Kubernetes; inaweza kupelekwa katika klasta ya server au katika mashine moja ikiwa inahitajika.

  3. Kulingana na usanidi wako, unaweza kutaka kupeleka na kusanidi baadhi ya vipengele mwenyewe, mfano, RabbitMQ - angalia Setting up Travis CI Enterprise kwa maelezo zaidi.

TCI Worker inahitaji yafuatayo:

  1. Miundombinu ambapo picha ya docker yenye Worker na picha ya build iliyounganishwa inaweza kupelekwa.

  2. Muunganisho na baadhi ya vipengele vya Huduma za Msingi za Travis CI - angalia Setting Up Worker kwa maelezo zaidi.

Kiasi cha TCI Worker na picha za OS za mazingira ya build zilizowekwa kitaamua uwezo wa jumla wa wakati mmoja wa Travis CI Enterprise katika miundombinu yako.

Support HackTricks

Last updated