Pipeline, mint kód, a lehető legegyszerűbb módon

A szoftverfejlesztésben a CI/CD vagy a Continuous Integration/Continuous Delivery folyamatok segítenek a kód felépítésében és különböző környezetekben történő telepítésében egy automatizált folyamaton keresztül.

Ennek a folyamatnak a létrehozása és karbantartása azonban önmagában is kihívást jelenthet. Írja be a csővezetéket kódként – egy olyan megközelítés, amellyel a teljes CI/CD folyamatot kódformátumban hozza létre. Ahelyett, hogy a webes felhasználói felületekre és a fogd és vidd eszközökre hagyatkozna, konfigurációs fájlokat használ az alkalmazáskód felépítésének, tesztelésének és telepítésének meghatározására.

Mielőtt azonban rátérnénk a Pipeline as Code részleteire és arra, hogy hogyan építheti fel a sajátját, először értsük meg, mi is pontosan a folyamat.

Mi az a Pipeline a szoftverfejlesztésben?

A szoftverfejlesztés folyamata automatizált lépések sorozata, amelyek elvégzik a legújabb kódmódosításokat, meghatározott folyamatokat futtatnak rajta, és telepítik azt a választott környezetben. Értsük meg ezt jobban egy példával.

Képzelje el, hogy három mikroszolgáltatása van, és az egyikhez új funkciókat adott hozzá. Most le szeretné futtatni a kódszintű egységteszteket. Amint áthaladnak, ellenőriznie kell a kód formázásával kapcsolatos problémákat is. Ezután meg szeretné építeni a kódot. Ezt követően két különböző környezetbe kívánja telepíteni, mindegyik környezetben több géppel. Végül érdemes integrációs teszteket futtatni, hogy megbizonyosodjon arról, hogy a változtatások szinkronban vannak a többi szolgáltatással.

Dönthet úgy, hogy a fenti lépéseket manuálisan hajtja végre. De ez sok időt vesz igénybe, és hajlamos lesz a hibákra. Szóval van mód ezek automatizálására? Igen! Létrehozhat egy folyamatot, és meghatározhatja az összes lépést. Ezt követően minden alkalommal, amikor módosítja a kódot, elindíthatja a folyamatot, és nem kell aggódnia a manuális lépések miatt.

A Pipeline mint kód előnyei

Ha olyan eszközöket használ, mint a fogd és vidd, akkor nehéz lesz követni a változásokat, fenntartani a szabványosítást vagy elősegíteni az együttműködést. A Pipeline as Code jobb módja a szoftverfejlesztési folyamat meghatározásának.

Segít megőrizni a dolgok következetességét. Az automatizálás elősegítésével megismételhetőséget érhet el, és ugyanazt a folyamatot használhatja más rendszerekhez is. Az alkalmazáskódhoz hasonlóan a folyamat meghatározásához használt kód is elősegíti az együttműködést.

#1. Következetesség

A szöveges formátumban való meghatározás biztosítja, hogy semmi sem történjen rendellenesen. Ha szabványos munkafolyamatot kényszerít ki az összes alkalmazás-felépítésre és telepítésre, akkor konzisztens lesz, és csökkenti a váratlan problémák kockázatát.

És a következetességgel megfelelőségi ellenőrzéseket és biztonságot is kap. A konzisztens folyamat biztosítása lehetővé teszi a biztonsági ellenőrzések és a sebezhetőségi ellenőrzések meghatározását úgy, hogy semmi sem kerülhet el.

  7 legjobb BAS-eszköz a kibertámadásokra való felkészüléshez

#2. Ismételhetőség

Hozza létre a folyamatot, és állítsa be az automatizálást. A következetesség mellett az automatizált folyamat biztosítja, hogy minden alkalmazáskód ugyanazokon a szakaszokon és ellenőrzéseken megy keresztül.

A kód minden alkalommal ugyanazon a felépítési és telepítési folyamaton megy keresztül, amikor futtatja a folyamatot. Megőrizheti az ismételhetőséget az összes futás során.

#3. Együttműködés

Mivel a kód az a médium, amellyel létrehozza a folyamatot, elősegíti az együttműködést. A csapaton belül több ember is hozzájárulhat ugyanahhoz a kódhoz, akárcsak az alkalmazáskódhoz.

A Pipeline as Code azt is lehetővé teszi, hogy fenntartsa a verziókezelést, és engedélyezze a kód felülvizsgálatát. Ez biztosítja a legjobb gyakorlatok követését, és a lehetséges problémák korai felismerését.

Most nézzük meg, hogyan hozhat létre saját folyamatot a Pipeline as Code használatával.

Pipeline mint kód a Jenkinsben

Ha a folyamatos integrációs és folyamatos üzembe helyezési (CI/CD) rendszerekről van szó, Jenkins a vezető nyílt forráskódú automatizálási szerver. A Jenkins segítségével könnyedén integrálhatja kódmódosításait, automatizálhatja a tesztelést és az összeállítást, valamint telepíthet szoftvereket. Mindezt pedig megbízhatóan és hatékonyan megteheti.

Akár hobbi, aki többet szeretne megtudni az automatizálási csővezetékekről, akár összetett vállalati rendszereket épít, a Jenkins megfelel projektje minden egyedi követelményének. A rengeteg bővítmény és az egyre növekvő közösség segíthet abban, hogy a legtöbbet hozza ki automatizálásából.

A Jenkins-ben a Pipeline egy meghatározott sorrendben meghatározott különféle bővítmények halmaza, amely létrehozza a CI/CD rendszert. Legyen szó egyszerű vagy összetett használati esetekről, létrehozhatja a folyamatot a kóddal a Pipeline domain-specific language (DSL) szintaxis. A DSL ráépült Apache Groovy.

A Pipeline as Code alapja a Jenkinsben az Jenkinsfile – egy szöveges fájl, amely tartalmazza az összes különböző szakaszt és műveletet leíró kódot. Tanuljuk meg, hogyan hozhatja létre a folyamatot kódként a Jenkinsfile segítségével.

Hogyan hozhatjuk létre a Pipeline-t kódként?

A Jenkins telepítése és elindítása után navigáljon a webes felhasználói felületre a böngészőjében. Lehet, hogy be kell jelentkeznie. Ezután az irányítópult főoldalára kerül. Innen fogod kezdeni, és létrehozod a csővezetékedet.

  • A bal oldali panelen talál egy Új elem gombot.
  • Kattintson rá a következő oldalra lépéshez.
  • Miután az új oldalon van, megjelenik egy elem létrehozására vonatkozó felszólítás.
  • Adjon nevet az Adja meg az elem nevét mezőben. Ez kötelező.
  • Ne feledje, hogy létrejön egy könyvtár ugyanazzal a névvel. Ezért a legjobb, ha kerüli a szóközt, mivel az nemkívánatos mellékhatásokhoz vezethet.
  • Ezután válassza ki a Pipeline opciót, és kattintson a képernyő alján található OK gombra.
  • Megjelenik a konfigurációs ablak.
  • Kattintson a Csővezeték opcióra a bal oldali panelen, vagy görgessen le a Pipeline szakaszhoz.
  • Kezdjük egy egyszerű folyamattal, amelyet közvetlenül a felhasználói felületről konfigurálhat.

    Hozzon létre Pipeline-t kódként közvetlenül a Jenkinsben

    Miután a Pipeline szakaszban van, készen áll az első folyamat létrehozására kódként.

      Telefonszám megváltoztatása a Yahoo Mail szolgáltatásban

    A Definíció legördülő menüből válassza a Pipeline script opciót. Alatta található egy Script terület, ahol kódolhatja a folyamatot. Jenkins fenntartja az itt létrehozott forgatókönyvet.

    A Jenkins lehetővé teszi, hogy két kódolási stílus vagy szintaxis közül válasszon – deklaratív szintaxis és parancsfájl-szintaxis. Míg a Declarative könnyen használható, és ideális az egyszerű folyamatokhoz, a Scripted Syntax a hatékony felhasználóknak és az összetett folyamatok tervezésének való.

    A deklaratív szintaxis használatával hozzon létre 3 egyszerű lépést – Build Code, Test Code és Deploy Code a következő kódrészlet segítségével:

    pipeline {
        agent any
    
        stages {
            stage('Build Code') {
                steps {
                    echo 'This is the step for build...'
                }
            }
            stage('Test Code') {
                steps {
                    echo 'This is the step to test...'
                }
            }
            stage('Deploy Code') {
                steps {
                    echo 'This step deploys the code...'
                }
            }
        }
    }

    Használhatja a szkriptelt szintaxist is, az alábbiak szerint:

    node {
        stage('Build Code') {
            echo 'This is the step for build...'
        }
        stage('Test Code') {
            echo 'This is the step to test...'
        }
        stage('Deploy Code') {
            echo 'This step deploys the code...'
        }
    }

    Kattintson a Mentés gombra. Most kattintson a bal oldali panelen található Építés most gombra. Ez elindítja az imént létrehozott folyamatot.

    Ha a folyamat befejeződött, ellenőrizheti azt az Összeállítási előzményekben. Ha ez az első futtatása, kattintson a jelenlévő #1 build-re. Ezután kattintson a bal oldali panelen található konzolkimenetre. Minden szakaszban megtalálja azt a 3 visszhang-utasítást, amely a folyamatkódban van.

    Hozzon létre Pipeline-t kódként egy külső fájl segítségével

    Kihívást jelent közvetlenül a Jenkinsben karbantartani a csővezetéket, amikor az kezd bonyolulttá válni. Ebben az esetben létre kell hoznia egy külső fájlt, és használnia kell.

    A Jenkins-folyamat létrehozása előtt szüksége van egy külső tárolóra és egy verziókezelő rendszerre. Hozzon létre egy Git-tárat, és távolról üzemeltesse a GitHubon. Létrehozza a Jenkins-fájlt, és eltárolja itt.

  • Menj a tiédhez GitHub profil. Létrehozhat ingyenes fiókot, ha nincs.
  • Hozzon létre egy új tárolót. Nevezze customJenkinsnek.
  • A helyi gépen ellenőrizze, hogy telepítve van-e a Git.
  • Hozzon létre egy könyvtárat a választott helyen.
  • Navigáljon a könyvtárba, és nyissa meg a terminált.
  • Inicializáljon egy üres Git-tárat a git init paranccsal.
  • Most hozzon létre egy új fájlt, amely a Jenkinsfile lesz. Nevezzük customJenkinsfile-nek.
  • Írja be a Pipeline-t kódként ebbe a fájlba. Példaként használja az alább említettet:
  • pipeline {
        agent any
    
        stages {
            stage('Build Code') {
                steps {
                    echo 'This is the step for build defined in custom file...'
                }
            }
            stage('Test Code') {
                steps {
                    echo 'This is the step to test defined in custom file...'
                }
            }
            stage('Deploy Code') {
                steps {
                    echo 'This step defined in custom file deploys the code...'
                }
            }
        }
    }
  • Adja hozzá az újonnan létrehozott fájlt a Githez a git add –all paranccsal a termináljában.
  • Végezze el a fájlt a Gitben a git commit -m „Created a custom jenkinsfile” paranccsal.
  • Kapcsolja össze a helyi Git-lerakatot a távoli adattárral a git távoli hozzáadási eredet használatával [email protected]:/customJenkins.git.
  •   Hogyan készítsünk egyedi színátmenetes háttérképeket az iPhone-ra
  • Ezután töltse fel a fájlt a távoli helyre (GitHub) a git push –set-upstream origin master használatával.
  • Létrehozott egy távoli adattárat a GitHubon, amely egy egyéni Jenkins-fájlt tartalmaz. Állítsuk be a Jenkinst ennek használatára.

    Konfigurálja a Jenkinst a GitHubból származó Jenkinsfile használatára

  • Nyissa meg a Jenkins irányítópultját.
  • Hozzon létre egy új folyamatot, vagy kattintson a Konfigurálás lehetőségre a bal oldali panelen egy meglévő folyamatról.
  • Görgessen le a Pipeline szakaszhoz.
  • A Definíció legördülő menüből válassza a Pipeline script from SCM lehetőséget.
  • Válassza a Git lehetőséget az SCM opcióban.
  • Adja meg a GitHub-tárhely hivatkozását a Repository URL-ben a Lerakatok alatt.
  • Győződjön meg arról, hogy a Branch Specifier */master értékre van állítva az Építendő ágak alatt.
  • Görgessen le a Script Path részhez. Itt adja meg a Jenkins-fájl nevét customJenkinsfile-ként. Kattintson a Mentés gombra.
  • Ezt követően futtassa a csővezetéket. A Jenkins először lekéri a kódot a távoli tárolóból. Ezután létrehoz egy folyamatot az egyéni Jenkinsfile segítségével, és futtatja az összes szakaszt.

    Sikeresen létrehozta saját szoftverfejlesztési folyamatát a Pipeline as Code használatával. Ezenkívül engedélyezte a verzióvezérlést a folyamat-szkriptben. A folyamatkódban végrehajtott bármilyen módosítás nyomon követhető minden Git-commit során. Ezután ideje áttekinteni a legjobb gyakorlatokat.

    A hatékony csővezeték kódként való írásának legjobb gyakorlatai

    Nézzük meg azokat a bevált módszereket, amelyeket követnie kell a Pipeline kódként történő megírásakor.

    • Tartsa tisztán a folyamatot, és ne írjon túl sok összetett feltételt.
    • Ha túl sok parancsot ad meg a folyamatban, bontsa fel őket különböző lépésekre.
    • Használjon külső fájlokat a Pipeline verzióvezérléssel kódszkriptként.
    • Használja ki a kódolási nyelv szolgáltatásait, például a Groovy-t a különböző lépések integrálásához.
    • Kerülje a Jenkins.getInstance vagy hozzáférőinek hívásait a biztonsági és teljesítményproblémák enyhítése érdekében.
    • Ne írja felül az olyan beépített folyamatparancsokat, mint az sh és az időtúllépés.
    • Hozzon létre külső eszközöket vagy szkripteket az összetett CPU-igényes feladatokhoz, és csatlakoztassa őket a folyamathoz.
    • Használja ki a Jenkins számára elérhető bővítmények széles választékát, hogy megbirkózzon az Ön használati esetével.
    • Győződjön meg róla, hogy beépítette a kivétel- és hibakezelést, mert a dolgok rosszul sülhetnek el.
    • Ne tegye a Pipeline-t kódként szorosan összekapcsolva sok üzleti logikával.
    • Használjon paraméterezett argumentumokat, ahol csak lehetséges, hogy a folyamat újrafelhasználható legyen.

    Pipeline mint kód: egyszerű megközelítés összetett folyamatokhoz

    Összefoglalva, a Pipeline as Code leegyszerűsíti a CI/CD folyamat automatizálását azáltal, hogy a teljes folyamatot kódként jeleníti meg. Míg a CI/CD folyamatok automatizálják a kódváltozások felépítését, tesztelését és telepítését, a Pipeline kódként való kihasználása egy lépéssel tovább visz. Lehetővé teszi a munkafolyamat szöveges meghatározását, ahelyett, hogy grafikus felületekre hagyatkozna.

    A Pipeline as Code használatával biztosítja, hogy a munkafolyamat minden lépése a megfelelő sorrendben történjen. Csökkenti a nem kívánt problémák kockázatát. Ezenkívül számos előnnyel jár – beleértve a következetességet, az ismételhetőséget és az együttműködés elősegítését.

    Az útmutató segítségével most már tudja, hogyan hozhat létre saját csővezetékeket a Jenkins, egy széles körben használt CI/CD eszköz segítségével. A Jenkins hatékony és rugalmas platformot kínál a Pipeline kódként való megvalósításához a Jenkins-fájlon keresztül. Kövesse a bevált gyakorlatokat, és hozzon létre munkafolyamatokat, amelyek kezelik a folyamat összes használati esetét.

    Ha többet szeretne megtudni a Jenkinsről, nézze meg, hogyan hozhatja létre saját Jenkins-csővezetékét.