Jenkins Pipeline oktatóanyag: JenkinsFile létrehozása (példa)

Mi az a Jenkins Pipeline?

Jenkins Pipeline a beépülő modulok kombinációja, amely támogatja a folyamatos szállítási folyamatok integrációját és megvalósítását. Bővíthető automatizálási szerverrel rendelkezik, amely egyszerű és összetett kézbesítési folyamatokat hoz létre kódként DSL-folyamaton keresztül. A Pipeline olyan események csoportja, amelyek sorozatban kapcsolódnak egymáshoz.

Mi az a folyamatos szállítási csővezeték? Hogyan működik?

A Jenkins-folyamatban minden munka vagy esemény legalább egy vagy több eseménytől függ.

A Jenkins Continuous Delivery Pipelines működése
A Jenkins Continuous Delivery Pipelines működése

A fenti kép egy folyamatos szállítási csővezetéket ábrázol Jenkinsben. Az állapotok egy csoportját tartalmazza: build, deploy, test and release. Ezek az események összefüggenek egymással. Minden állapotnak megvannak a maga eseményei, amelyek egy folyamatos szállítási folyamatnak nevezett szekvenciában működnek.

A folyamatos kézbesítési folyamat egy automatizált kifejezés, amely megjeleníti a szoftver verziókezeléshez szükséges beszerzési folyamatát. Így a szoftverben végrehajtott minden változtatás számos összetett folyamaton megy keresztül a megjelenésig. Ez magában foglalja a szoftver megbízható és megismételhető módon történő fejlesztését, valamint a beépített szoftver több szakaszon keresztüli előrehaladását is tesztelés és a telepítés.

Mi az a JenkinsFile?

A Jenkins-folyamatokat egy szöveges fájl segítségével lehet meghatározni JenkinsFile. A folyamatot kódként implementálhatja a JenkinsFile segítségével, és ez egy tartományspecifikus nyelv (DSL) használatával határozható meg. A JenkinsFile segítségével megírhatja a Jenkins-folyamat futtatásához szükséges lépéseket.

A használat előnyei JenkinsFile:

  • Automatikusan létrehozhat folyamatokat az összes ághoz, és egyetlen lekérési kérelmet is végrehajthat JenkinsFile.
  • A folyamatban lévő Jenkins-kódot áttekintheti
  • Ellenőrizheti a Jenkins-csővezetéket
  • Ez a folyamat egyetlen forrása, és több felhasználó módosíthatja.

A JenkinsFile webes felhasználói felülettel vagy Jenkins-fájllal definiálható.

Deklaratív versus parancsfájl-folyamat szintaxisa:

A Jenkins-fájl meghatározásához kétféle Jenkins-folyamat-szintaxist használnak.

  1. Nyilatkozatos
  2. Szkriptelt

Kijelentő:

A deklaratív csővezeték szintaxis egyszerű módot kínál a folyamatok létrehozására. Előre meghatározott hierarchiát tartalmaz a Jenkins-folyamatok létrehozásához. Lehetővé teszi a folyamatvégrehajtás minden aspektusának egyszerű, egyértelmű vezérlését.

Szkriptelt:

A scripted Jenkins pipeline a Jenkins mesteren fut egy könnyű végrehajtó segítségével. Nagyon kevés erőforrást használ fel a folyamat atomi parancsokká fordításához. Mind a deklaratív, mind a parancsfájl szintaxis különbözik egymástól, és teljesen másképpen határozzák meg őket.

Miért használja a Jenkin's Pipeline-t?

Jenkins nyitott folyamatos integrációs szerver amely képes támogatni a szoftverfejlesztési folyamatok automatizálását. A használati esetek segítségével több automatizálási feladatot is létrehozhat, és Jenkins-folyamatként futtathatja őket.

A következő okok miatt érdemes Jenkins csővezetéket használni:

  • A Jenkins-folyamat olyan kódként van megvalósítva, amely lehetővé teszi több felhasználó számára a folyamat szerkesztését és végrehajtását.
  • A csővezetékek robusztusak. Tehát ha a szerver váratlan újraindításon megy keresztül, a folyamat automatikusan folytatódik.
  • Szüneteltetheti a folyamatot, és várakoztathatja a folytatásra, amíg a felhasználó nem válaszol.
  • A Jenkins Pipelines nagy projekteket támogat. Futtathat több jobot, és akár egy ciklusban is használhat folyamatokat.

Jenkins Pipeline Concepts

kifejezés Description
Csővezeték A folyamat a folyamatos kézbesítéshez kód formájában adott utasítások halmaza, és a teljes összeállítási folyamathoz szükséges utasításokból áll. A folyamat segítségével létrehozhatja, tesztelheti és szállíthatja az alkalmazást.
Csomópont A gépet, amelyen Jenkins fut, csomópontnak nevezzük. A csomópontblokkot főként a parancsfájl-folyamat szintaxisában használják.
Színpad Egy szakaszblokk egy folyamatban lévő lépések sorozatát tartalmazza. Vagyis a felépítési, tesztelési és üzembe helyezési folyamatok egy szakaszban állnak össze. Általában egy szakasz blokkot használnak a Jenkins-folyamat megjelenítésére.
Lépés Egy lépés nem más, mint egyetlen feladat, amely egy meghatározott folyamatot hajt végre meghatározott időben. A csővezeték egy sor lépésből áll.

Telepítse a Build Pipeline beépülő modult a Jenkinsben

Aktivitáskövető csővezetéket építeni plugin segítségével létrehozhat egy folyamatnézetet a bejövő és kimenő feladatokról, és létrehozhat olyan triggereket, amelyek kézi beavatkozást igényelnek.

Így telepítheti a csővezetéket építeni plugin a Jenkinsben:

1 lépés) A beépülő modul beállításai itt találhatók,

Jenkins kezelése > Beépülő modulok kezelése.

Telepítse a Build Pipeline beépülő modult a Jenkinsben

Ha már telepítette a bővítményt, az a telepített fül alatt látható.

Telepítse a Build Pipeline beépülő modult a Jenkinsben

2 lépés) Ha nincs korábban telepítve a bővítmény,

alatt jelenik meg Elérhető Tab.

Miután sikeresen telepítette a csővezetéket építeni a Jenkins beépülő moduljában, kövesse az alábbi lépéseket a Jenkins-folyamat létrehozásához:

Hogyan készítsünk Jenkins Pipeline-t

Miután bejelentkezett a Jenkins irányítópultjába:

1 lépés) Kattintson a "+" gombot a Jenkins irányítópultjának bal oldalán egy folyamat létrehozásához.

Hozzon létre Jenkins Pipeline-t

2 lépés)

  1. A rendszer kéri, hogy adjon nevet a folyamat nézetnek. Nevezzük majd "Guru99 Pipeline” a bemutató idejére.
  2. választ Csővezeték nézet létrehozása alatt lehetőségek
  3. Kattints ok

Hozzon létre Jenkins Pipeline-t

3 lépés) A következő oldalon további részletekre lesz szükség a Jenkins-folyamat konfigurálásához. Csak fogadja el az alapértelmezett beállításokat, és győződjön meg arról, hogy a beállítások közül az első feladatot választotta.

Kattints a Jelentkezem és azután OK.

Hozzon létre Jenkins Pipeline-t

Ez megmutatja a tétel mintafolyamat-nézetét, az alábbiak szerint:

Hozzon létre Jenkins Pipeline-t

Pipeline build futtatása

1 lépés) A folyamatépítés futtatásához először láncolnia kell a munkáit. Ehhez lépjen az első feladatához, és kattintson a konfigurálásra.

Pipeline build futtatása

2 lépés) Most, alatt Triggerek építése, ellenőrizd a Építés más projektek megépítése után opciót.

Pipeline build futtatása

Így létrejött egy lánc az összes munkájához.

3 lépés) Telepítse a Csővezeték nézet létrehozása plugin, ha még nincs telepítve.

4 lépés) Lépjen a Jenkins irányítópultjára, és hozzon létre egy nézetet a „+” gombot. Válaszd ki a Build Pipeline View lehetőség és kattintson OK.

Pipeline build futtatása

5 lépés) Alatt Csővezeték nézet konfigurációja, keresse meg Csővezeték áramlás.

Alatt Csővezeték áramlás, válassza ki a futtatni kívánt kezdeti feladatot. Most válassza ki azt a munkát, amely más munkákhoz láncol, ahogy az ábra mutatja 1 lépés és a 2 lépés.

Pipeline build futtatása

Itt válogattunk Guru99 projekt 1 mint a kezdeti munka, más munkákhoz láncolva. Így a feladatok egyenként futnak majd a folyamatban.

Amikor a Jenkins folyamat fut, a piros és zöld állapotszimbólumok segítségével ellenőrizheti állapotát. A piros azt jelenti, hogy a csővezeték meghibásodott, a zöld pedig a sikert.

Ebben a Jenkins-csővezeték példában azt látjuk, hogy a gomb zöld. Ezért a csővezeték sikeres.

Pipeline build futtatása

Jenkins csővezeték fut

Kattints a futás hogy vezesse a Jenkins-csővezetéket. Valahogy így fog kinézni:

Jenkins csővezeték fut

A fenti Jenkins-folyamatszkript példában egy egyszerű „helloworld.java” programot mutatunk be. A valós idejű projektekben azonban Ön lesz a felelős a Jenkins-i komplex csővezetékek létrehozásáért és megépítéséért. Lásd alább a csővezeték minta nézetét.

Jenkins csővezeték fut

A Jenkins Pipeline bevált gyakorlatai:

  • Használja az eredeti Jenkins Pipeline-t
  • Fejlessze a folyamatot kódként
  • A folyamatban lévő minden nem beállítási munkának egy szakaszblokkon belül kell történnie.
  • A csővezetékben végzett bármilyen anyagmunkát egy csomóponti blokkon belül kell elvégezni.
  • Ne használjon bemenetet csomópontblokkon belül.
  • Soha ne állítson be környezeti változókat env globális változóval
  • Csomagolja be a bemeneteket egy időkorlátba