Új építési feladat létrehozása a Jenkins Freestyle projekt

⚡ Okos összefoglaló

Jenkins A Freestyle Project egy ismételhető építési feladat, amely a forráskód ellenőrzését, az építési lépéseket és az építés utáni műveleteket egyetlen konfigurálható feladatba foglalja, amelyet teljes egészében a Jenkins webes felület folyamatkód írása nélkül.

  • 🔘 Meghatározás: A szabadstílusú munka Jenkins„általános célú projekttípus, űrlapokon keresztül konfigurálható, nem pedig egy Jenkinsfájlt.
  • ☑️ Előfeltételek: Egy futó Jenkins Először is szükség van egy vezérlőre, egy JDK-ra a build agenten, a Git bővítményre és egy elérhető adattárra.
  • Tíz lépés: Jelentkezz be, hozz létre egy új elemet, nevezd el, állítsd be a tárolót, adj hozzá egy build lépést, mentsd el, buildeld le és olvasd be a konzol kimenetét.
  • 🧪 Működő példa: Egy GitHubból letöltött HelloWorld projekt javac-kal fordul és java-val fut egy Windows kötegelt build lépés.
  • 🇧🇷 Konfigurációs térkép: Hat űrlapszakasz — Általános, Forrás Code Kezelés, Építési triggerek, Építési környezet, Építési lépések és Építés utáni műveletek – minden lehetőséget lefedünk.
  • 🇧🇷 Hatálykorlát: A szabad stílusú feladatok az egyfeladatos automatizáláshoz illenek; a többlépcsős szállítási munkák inkább egy verzióvezérelt Pipeline feladatba tartoznak.

Új építési feladat létrehozása a Jenkins Freestyle projekt

Mi az a Jenkins Freestyle projekt?

Jenkins Freestyle projekt egy ismételhető build job, szkript vagy folyamat, amely lépéseket és build utáni műveleteket tartalmaz. Ez egy továbbfejlesztett job vagy feladat, amely több műveletet is felölelhet. Lehetővé teszi a build triggerek konfigurálását, és projektalapú biztonságot kínál a... Jenkins projekt. Emellett bővítményeket is kínál, amelyek segítenek a lépések felépítésében és az építés utáni műveletekben.

A végrehajtható művelettípusok Jenkins A build lépések vagy az utólagos build műveletek meglehetősen korlátozottak. Számos szabványos bővítmény érhető el egy Jenkins Freestyle Project, ami segít leküzdeni ezt a problémát.

Az alábbi ábra a szabadfogású munkát a szélesebb zónán belül helyezi el. folyamatos integráció ciklus, a forráskód ellenőrzésétől egészen az utólagos build műveletekig, amelyek az eredményt jelentik.

Munkahely létrehozásának lépései Jenkins Freestyle projekt
Hogyan hozzunk létre egy állást itt: Jenkins

Létrehozásának előfeltételei Jenkins Freestyle Job

Mielőtt az alábbi tíz lépés teljesen működne, négy dolognak kell a helyén lennie. Bármelyik hiánya a szokásos oka annak, hogy az első gyorsépítés piros labdával, és nem kékkel, megbukik.

  • Egy futó Jenkins vezérlő. Jenkins alapértelmezés szerint a 8080-as porton figyel. Ha Jenkins még nem fut, kövesse az telepítési útmutató először.
  • Egy JDK a buildet futtató gépen. A kidolgozott példa összeáll Java, Így javac a feladatot végrehajtó vezérlő vagy ügynök elérési útján kell lennie. Erősítse meg ezt egy egysoros java -version építési lépést, mielőtt bármi mást hozzáadnál.
  • A Git bővítmény. Az megy opció csak a Forrás alatt jelenik meg Code Kezelés a bővítmény telepítése után a következőn keresztül: kezel Jenkins > Bővítmények.
  • Elérhető adattár. Egy nyilvános HTTPS URL nincs szükség hitelesítő adatokra. Egy privát adattárnak szüksége van egy, a következő helyen tárolt hitelesítő adatra: Jenkins először is, különben a kijelentkezés már az első build során meghiúsul.

Egy számla a következővel: Munka/Létrehozás engedélyre is szükség van – egy új, egyfelhasználós rendszeren Jenkins az admin fiókban már megvan.

Új építési feladat létrehozása a Jenkins

A freestyle építési munka rendkívül rugalmas és könnyen használható lehetőség. Használhatja bármilyen típusú projekthez; könnyen beállítható, és számos lehetősége megjelenik más építési munkákban. Az alábbiakban lépésről lépésre bemutatjuk a munkahely létrehozásának folyamatát Jenkins.

1. lépés) Bejelentkezés Jenkins

A Jenkins szabadfogású munka, jelentkezzen be a Jenkins irányítópultot a Jenkins telepítési útvonal. Általában a localhost címen található http://localhost:8080 Ha még telepítve Jenkins egy másik útvonalon használja a megfelelőt URL az irányítópult eléréséhez az alábbiak szerint Jenkins munkahelyteremtési példa.

Jenkins a műszerfal elérte a Jenkins telepítési útvonal bejelentkezés után

2. lépés) Új elem létrehozása

Kattintson "Új jogcím” linkre az irányítópult bal felső sarkában. Az alábbi képernyőképen látható, hogy hol található a link.

Új elem link a bal felső sarokban Jenkins műszerfal

3. lépés) Adja meg a tétel részleteit

A következő képernyőn

  1. Adja meg a létrehozni kívánt elem nevét. Ehhez a demóhoz a „Hello world”-t fogjuk használni.
  2. Válassza a Freestyle projektet
  3. Kattintson az OK gombra

Elemnév mező, amelyben a Freestyle projekt kijelölve van az OK gombra kattintás előtt

4. lépés) Adja meg a projekt részleteit

Add meg a tesztelni kívánt projekt részleteit. A megnyíló konfigurációs oldal alább látható.

A projekt adatait a Jenkins szabad stílusú munkaköri konfigurációs oldal

5. lépés) Lépjen be a tárházba URL

Forrás alatt Code Kezelés, Adja meg a tárhelyét URLVan egy tesztrepozitóriumunk, amely a következő címen található: https://github.com/kriru/firstJava.git

Forrás Code A Git teszttárház kezelése URL lépett

Lehetőség van helyi tároló használatára is.

Ha a GitHub-tárházad privát, Jenkins először a GitHub segítségével ellenőrzi a bejelentkezési adatait, és csak ezután húzza ki a forráskódot a GitHub adattárból.

6. lépés) Módosítsa a beállításokat

Most, hogy minden részletet megadott, itt az ideje a kód felépítésének. Módosítsa a beállításokat a ... alatt. épít szakaszban, hogy a kívánt időpontban elkészítse a kódot. Még azt is ütemezheti, hogy a felépítés időszakosan, meghatározott időpontokban történjen.

Építés alatt,

  1. Kattintson "Építési lépés hozzáadása"
  2. Kattintson "Végrehajt Windows köteg parancs” és adja hozzá az építési folyamat során végrehajtani kívánt parancsokat.

A legördülő menü, amely felsorolja az elérhető építési lépéseket, így néz ki.

A „Build lépés hozzáadása” legördülő menü megnyílt a szabad stílusú feladat konfigurációs oldalán.

⚠️ Verzió megjegyzés: új Jenkins kiadások címkézve ezen a területen Építési lépések helyett Épít, és Linuxon vagy macOS ügynökök, az egyenértékű opció a következő Végrehajtási parancsértelmezőA gomb továbbra is hívott. Építési lépés hozzáadása.

Itt hozzáadtam a java parancsokat a java kód lefordításához.

A következő Windows parancsokat adtam hozzá:

javac HelloWorld.java
java HelloWorld

A parancssor, amelyben ez a két sor be van írva, alább látható.

Végrehajt Windows kötegelt parancsdoboz, amely a javac és java parancsokat tartalmazza

7. lépés) Mentse el a projektet

Ha az összes adatot megadta,

  1. Kattints Jelentkezem
  2. Megtakarítás a projektet.

8. lépés) Forráskód létrehozása

Most a főképernyőn kattintson a bal oldalon található Build Now gombra a forráskód összeállításához.

Építés most gomb a szabadstílusú projekt képernyőjének bal oldalán

9. lépés) Ellenőrizze az állapotot

Miután rákattintott a Build now gombra, a Build History alatt láthatja a futtatott build állapotát.

Építési előzmények panel, amely a futtatott szabad stílusú építés állapotát mutatja

10. lépés) Lásd a konzol kimenetét

Kattintson a build számára, majd a konzol kimenetére a futtatott build állapotának megtekintéséhez. Sikeres üzenetnek kell megjelennie, feltéve, hogy megfelelően követte a beállításokat az alábbiak szerint. Jenkins új munkaköri példa létrehozása.

A konzol kimeneti képernyője, amelyen a befejezett build sikeres üzenete látható.

Összefoglalva, egy GitHubon tárolt HelloWorld programot futtattunk. Jenkins A távoli tárolóból húzza ki a kódot, és folyamatosan építi a megadott gyakorisággal.

Jenkins Freestyle projekt konfigurációs szakaszainak magyarázata

A fenti útmutató csak a HelloWorld példához szükséges mezőket érinti. Maga a konfigurációs oldal hat űrlaprészre van osztva, és ha tudjuk, hogy melyik rész mit birtokol, a fennmaradó lehetőségek sokkal könnyebben megtalálhatók.

Rész Mit szabályoz Tipikus beállítás
Általános Jobleírás, régi buildek elvetése, paraméterek, és hogy a job egy adott ügynökön fut-e Description plusz egy felhalmozódás-megtartási korlát
Forrás Code Menedzsment Melyik adattárat kell ellenőrizni, melyik hitelesítő adattal és ággal? Git, egy HTTPS URL, ág */master or */main
Triggerek építése Mi indítja el automatikusan a build-et? SCM lekérdezés, időszakos build vagy webhook a GitHubról
Építési környezet A teljes építmény köré felvitt burkolók Munkaterület törlése a build megkezdése előtt; időbélyegek hozzáadása a konzolnaplóhoz
Építési lépések A parancsok, amelyek elvégzik a munkát, felülről lefelé futnak Végrehajt Windows kötegelt parancs vagy végrehajtási shell
Építés utáni műveletek Mi történik a lépések befejezése után, bármi is legyen az eredmény? Archia műtermékeket, közzétesz egy tesztjelentést, küld egy e-mailt

Két szokás sok hibakeresést takarít meg később. Adja hozzá az építési lépéseket a szükséges sorrendben, mert Jenkins felülről lefelé dolgozza fel őket, és az első hibánál leáll. Ezután archiválja a build által létrehozott elemeket build utáni műveletként, mivel a munkaterületet a következő build újrafelhasználja, míg az archivált összetevők buildszám szerint kerülnek megőrzésre.

Freestyle Project vs. Pipeline: Melyiket érdemes használni?

A szabad stílus nem az egyetlen projekttípus az Új tárgy képernyőn, és nem is mindig ez a megfelelő. Az alábbi táblázat összehasonlítja egy másikkal. Csővezeték-feladat azokon a pontokon, amelyek a legtöbb valódi választást eldöntik.

Összehasonlítási pont Freestyle projekt Csővezeték
Hogyan van meghatározva A munkakörben tárolt webes űrlapok config.xml a vezérlőn A Jenkinsfájl véglegesítve az alkalmazáskóddal
Változástörténet Birtokolja Jenkins, a tárházon kívül Revugyanúgy megtekinthető és verziózható, mint bármely más forrásfájl
Szakaszok és párhuzamos munka Egyetlen, lapos lista az építési lépésekről Elnevezett színpadok, párhuzamos ágak és színpadi nézet
Tanulási görbe Nincs szükség szkriptelésre A deklaratív folyamatszintaxist igényli.
Legjobban illeszkedő Egy fordítás, egy szkript, egy ütemezett feladat vagy tanulás Jenkins Többlépcsős build, tesztelés és telepítési folyamatok különböző környezetekben

Gyakorlati szabály: amíg a munka egyetlen feladat, és még csak tanulod a szerszám használatát, vágj bele a szabad stílusba, és helyezd át a munkát egy másikba. CI/CD csővezeték amint egy második szakaszba kerül, vagy a kóddal együtt kell felülvizsgálni. Azok a csapatok, amelyek párosulnak Jenkins az építőeszközökkel gyakran gyorsan eljutunk erre a pontra – egy Maven és Selenium felépítés gyakori kiváltó ok a kapcsolóra, és ugyanez az érvelés vonatkozik minden olyan esetre, amikor automatizálási tesztelés csomag, amely több fázisban fut.

GYIK

A konzol kimenete megnevezi az okot. A három leggyakoribb ok a következő: hiányzik a javac az ügynök elérési útjából, egy privát adattár nem tartalmaz tárolt hitelesítő adatokat, és egy helytelen ágnév. Javítsa ki a jelentett sort, majd futtassa újra a Build Now parancsot.

Nyisd meg a Build Triggerek opciót, és jelöld be Építs időszakosan, majd írja be a cron szintaxist, például H 2 * * * egy esti futásra. A H elosztja a terhelést az órán belül. SCM szavazás ugyanazt a szintaxist használja, de csak akkor épül fel, ha a tárház megváltozott.

A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Végrehajtási parancsértelmező a „Fejlesztés” helyett a „Build lépés hozzáadása” menüből Windows batch parancs. A megjelenített beállítás a jobhoz tartozó vezérlő vagy ügynök operációs rendszerétől függ, nem a saját gépétől.

Tárolja el a tokent vagy az SSH-kulcsot egyszer a következő alatt: kezel Jenkins > Hitelesítő adatok, majd válassza ki a Hitelesítő adatok legördülő menüből a Forrás részben Code Vezetési részleg. Jenkins a fizetés előtt érvényesíti, így egy rossz hitelesítő adat azonnal meghiúsítja a buildelést.

A gépi tanulási eszközök beolvassák a konzolnaplókat és klaszterezik az ismétlődő hibákat, elkülönítve a valódi fordítási hibát a hibás ügynöktől vagy az időtúllépéstől. Ez a triázs a fontos egyetlen sorra mutat rá, ahelyett, hogy kézzel görgetnéd végig a hosszú naplót.

GitHub másodpilóta A kötegelt vagy shell szkriptet egy építési lépésen belül vázlatosan megrajzolja, és a parancssori felülete (CLI) képes összefoglalni a sikertelen konzolnaplókat. Nem tud végigkattintani a konfigurációs űrlapon, ezért mentés előtt minden generált parancsot ellenőrizni kell.

hozzáad Archia tárgyakat utólagos építési műveletként, és adjon neki egy mintát, például **/*.class. ArchiA ved fájlok buildszám szerint tárolódnak, így a munkaterületet is átvészelik, és a következő futtatáskor újra felhasználhatók vagy megtisztíthatók.

Minden munkahely benne él JENKINS_HOME/jobs/<job-name>, az űrlapbeállításokkal config.xml és minden egyes futás alatta builds/A mappa biztonsági mentése elegendő a feladat áthelyezéséhez vagy visszaállításához.

Foglald össze ezt a bejegyzést a következőképpen: