2.5 KiB
OpenShift - Jenkins
{{#include ../../../banners/hacktricks-training.md}}
Mwandishi wa awali wa ukurasa huu ni Fares
Ukurasa huu unatoa vidokezo kuhusu jinsi unavyoweza kushambulia mfano wa Jenkins unaotembea katika klasta ya Openshift (au Kubernetes)
Kanusho
Mfano wa Jenkins unaweza kuwekwa katika klasta ya Openshift au Kubernetes. Kulingana na muktadha wako, unaweza kuhitaji kubadilisha payload, yaml au mbinu yoyote iliyonyeshwa. Kwa maelezo zaidi kuhusu kushambulia Jenkins unaweza kuangalia ukurasa huu
Masharti
1a. Ufikiaji wa mtumiaji katika mfano wa Jenkins AU 1b. Ufikiaji wa mtumiaji wenye ruhusa ya kuandika kwenye hifadhi ya SCM ambapo ujenzi wa kiotomatiki unachochewa baada ya push/merge
Inavyofanya kazi
Kimsingi, karibu kila kitu nyuma ya pazia kinafanya kazi sawa na mfano wa kawaida wa Jenkins unaotembea katika VM. Tofauti kuu ni usanifu wa jumla na jinsi ujenzi unavyosimamiwa ndani ya klasta ya openshift (au kubernetes).
Ujenzi
Wakati ujenzi unachochewa, kwanza unasimamiwa/kuandaliwa na node ya Jenkins master kisha kuhamishiwa kwa wakala/slave/mfanyakazi. Katika muktadha huu, node ya master ni pod ya kawaida inayotembea katika namespace (ambayo inaweza kuwa tofauti na ile ambapo wafanyakazi wanatembea). Hali kadhalika inatumika kwa wafanyakazi/slaves, hata hivyo wanaharibiwa mara tu ujenzi unapoisha wakati master daima inabaki juu. Ujenzi wako kwa kawaida unafanywa ndani ya pod, ukitumia kiolezo cha pod cha kawaida kilichofafanuliwa na wasimamizi wa Jenkins.
Kuchochea ujenzi
Una njia nyingi kuu za kuchochea ujenzi kama vile:
- Una ufikiaji wa UI kwa Jenkins
Njia rahisi na ya kufaa ni kutumia kazi ya Replay ya ujenzi uliopo. Inakuwezesha kurudia ujenzi uliofanywa awali huku ukikuruhusu kuboresha script ya groovy. Hii inahitaji ruhusa kwenye folda ya Jenkins na pipeline iliyowekwa awali. Ikiwa unahitaji kuwa na siri, unaweza kufuta ujenzi wako uliochochewa ikiwa una ruhusa ya kutosha.
- Una ufikiaji wa kuandika kwenye SCM na ujenzi wa kiotomatiki umewekwa kupitia webhook
Unaweza tu kuhariri script ya ujenzi (kama Jenkinsfile), kuwasilisha na kusukuma (hatimaye kuunda PR ikiwa ujenzi unachochewa tu kwenye mergers za PR). Kumbuka kwamba njia hii ni kelele sana na inahitaji ruhusa za juu ili kusafisha nyayo zako.
Jenkins Build Pod YAML override
{{#ref}} openshift-jenkins-build-overrides.md {{#endref}}
{{#include ../../../banners/hacktricks-training.md}}