Basic TravisCI Information

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, washiriki, na hali za kutekeleza kwa hazina za umma na za kibinafsi na mashirika.

Siri Zilizofichwa

Mabadiliko ya Mazingira

Katika TravisCI, kama ilivyo katika majukwaa mengine ya CI, inawezekana kuhifadhi siri kwenye kiwango cha repo ambazo zitahifadhiwa kwa njia ya usimbaji na kufichuliwa na kusukumwa kwenye 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 inaunda RSA keypair, inaweka ile binafsi, na inafanya funguo ya umma ya hazina ipatikane kwa wale walio na ufikiaji wa hazina.

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 ku sifisha siri na kuziweka kwenye .travis.yaml. Siri zitakuwa zimefichuliwa wakati ujenzi unafanywa 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.

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 kuhusu toleo la ‘server’ la Travis CI. Kutumia Travis CI kunakuwezesha kuwezesha mfumo rahisi wa Continuous Integration/Continuous Deployment (CI/CD) katika mazingira, ambayo unaweza kuunda na kulinda kama unavyotaka.

Travis CI Enterprise ina sehemu kuu mbili:

  1. TCI services (au TCI Core Services), inayohusika na uunganisho na mifumo ya kudhibiti toleo, kuidhinisha ujenzi, kupanga kazi za ujenzi, n.k.

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

TCI Core services zinahitaji yafuatayo:

  1. Hifadhidata ya PostgreSQL11 (au baadaye).

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

  3. Kulingana na mipangilio yako, unaweza kutaka kupeleka na kuunda 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 za OS zilizopelekwa kitatathmini uwezo wa jumla wa sambamba wa kupeleka Travis CI Enterprise katika miundombinu yako.

Support HackTricks

Last updated