OpenShift - Jenkins

Reading time: 2 minutes

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 unazinduliwa 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 unazinduliwa, 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 unamalizika wakati node ya master kila wakati inabaki juu. Ujenzi wako kwa kawaida unafanywa ndani ya pod, ukitumia kiolezo cha pod cha kawaida kilichofafanuliwa na wasimamizi wa Jenkins.

Kuzindua ujenzi

Una njia nyingi kuu za kuzindua ujenzi kama vile:

  1. Una ufikiaji wa UI kwa Jenkins

Njia rahisi na ya kufaa ni kutumia kazi ya Replay ya ujenzi uliopo. Inakuruhusu kurudia ujenzi uliofanywa hapo 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 uliozinduliwa ikiwa una ruhusa ya kutosha.

  1. Una ufikiaji wa kuandika kwenye SCM na ujenzi wa kiotomatiki umewekwa kupitia webhook

Unaweza tu kuhariri script ya ujenzi (kama Jenkinsfile), kujitolea na kusukuma (hatimaye kuunda PR ikiwa ujenzi unazinduliwa tu kwenye muunganiko wa PR). Kumbuka kwamba njia hii ni kelele sana na inahitaji ruhusa za juu ili kusafisha nyayo zako.

Jenkins Build Pod YAML override

OpenShift - Jenkins Build Pod Override