OpenShift - Jenkins

Originalni autor ove stranice je Fares

Ova stranica pruža neke smernice o tome kako možete napasti instancu Jenkins koja se izvršava u Openshift (ili Kubernetes) klasteru

Odricanje od odgovornosti

Instanca Jenkins-a može biti implementirana kako u Openshift tako i u Kubernetes klasteru. U zavisnosti od vašeg konteksta, možda ćete morati prilagoditi bilo koji prikazani payload, yaml ili tehniku. Za više informacija o napadima na Jenkins možete pogledati ovu stranicu

Pretpostavke

1a. Korisnički pristup instanci Jenkins-a ILI 1b. Korisnički pristup sa dozvolom pisanja u SCM repozitorijumu gde se automatska izgradnja pokreće nakon push/merge operacije

Kako funkcioniše

Fundamentalno, gotovo sve iza kulisa funkcioniše isto kao i obična instanca Jenkins-a koja se izvršava u virtuelnoj mašini. Glavna razlika je ukupna arhitektura i način upravljanja izgradnjama unutar Openshift (ili Kubernetes) klastera.

Izgradnje

Kada se pokrene izgradnja, prvo je upravlja/orkestrira Jenkins master čvor, a zatim delegira agentu/slavi/radniku. U ovom kontekstu, master čvor je samo običan pod koji se izvršava u namespace-u (koji može biti drugačiji od onog gde se radnici izvršavaju). Isto važi i za radnike/slavove, međutim oni se uništavaju nakon završetka izgradnje dok master uvek ostaje aktivan. Vaša izgradnja se obično izvršava unutar poda, koristeći podrazumevani predložak poda definisan od strane Jenkins administratora.

Pokretanje izgradnje

Imate više glavnih načina za pokretanje izgradnje kao što su:

  1. Imate UI pristup Jenkins-u

Veoma jednostavan i praktičan način je korišćenje funkcionalnosti Ponovnog izvršavanja postojeće izgradnje. To vam omogućava da ponovo izvršite prethodno izvršenu izgradnju omogućavajući vam da ažurirate groovy skriptu. Ovo zahteva privilegije na Jenkins folderu i predefinisanu cev. Ako treba da budete neprimetni, možete obrisati pokrenute izgradnje ako imate dovoljno dozvola.

  1. Imate pristup pisanju u SCM i automatske izgradnje su konfigurisane putem webhook-a

Možete jednostavno izmeniti skriptu izgradnje (kao što je Jenkinsfile), commit-ovati i push-ovati (eventualno napraviti PR ako se izgradnje pokreću samo na spajanju PR-ova). Imajte na umu da je ovaj put veoma bučan i zahteva povišene privilegije da biste očistili svoje tragove.

Jenkins YAML zamena za izgradnju poda

OpenShift - Jenkins Build Pod Override

Last updated