Az Azure Pipelines ismertetése

Befejeződött

Az üzembe helyezési folyamat lépéseit folyamat használatával automatizálhatja. Minden alkalommal, amikor módosítja a kódot, és véglegesíti a módosítást a Git-adattárban, a folyamat futtatja az előre definiált folyamatot. A folyamatok ellenőrizhetik, hogy a Bicep-kód megfelel-e a minőségi szabványoknak, majd automatizálja az erőforrások Azure-ban való üzembe helyezésének lépéseit. A folyamat egy ön által létrehozott folyamatdefinícióban van definiálva.

Az Azure Pipelines az Azure DevOps szolgáltatás egyik funkciója. Az Azure DevOps tartalmazza az Azure Repost is, amely azokat a Git-adattárakat üzemelteti, amelyeket a kód tárolására és megosztására használ a közreműködőkkel. Amikor a Bicep-kódot a Gitben tárolja, az Azure Pipelines hozzáférhet a kódhoz az üzembehelyezési folyamatok automatizálásához. Ebben a leckében megismerheti az Azure Pipelinest.

Mik azok a folyamatok?

A folyamat a konfigurációs fájlban definiált kód tesztelésére és üzembe helyezésére használt megismételhető folyamat. A folyamatok tartalmazzák a végrehajtandó összes lépést, és azt, hogy milyen sorrendben.

Az Azure Pipelines használatakor yaML-fájlban definiálja a folyamatot. A YAML-fájlok strukturált szövegfájlok, hasonlóan a Bicep strukturált szövegfájlhoz. YAML-fájlokat bármely szövegszerkesztővel létrehozhat és szerkeszthet. Ebben a modulban a Visual Studio Code-ot használjuk. A Visual Studio Code olyan bővítményt kínál, amely megkönnyíti az Azure DevOps YAML-folyamatfájlok szerkesztését. Az Azure DevOps webes felülete olyan eszközöket is biztosít, amelyekkel megtekintheti és szerkesztheti a folyamat YAML-fájljait.

Megjegyzés:

Az Azure Pipelines klasszikus folyamatokat tartalmaz, a folyamatfunkció egy korábbi verzióját. A YAML-alapú folyamatok lecserélték a klasszikus folyamatokat. Ebben a modulban csak a YAML-folyamatokat tárgyaljuk. Javasoljuk, hogy YAML-folyamatokat használjon.

Mivel a folyamat YAML-fájlja egy kódfájl, a rendszer a Bicep-kóddal együtt tárolja a Git-adattárban. A Git-funkciókkal együttműködhet a folyamatdefiníción. A folyamatfájl különböző verzióit véglegesítésekkel és ágakkal kezelheti. Egy későbbi modulban a folyamatok egyéb speciális funkcióit, például a sablonokat is megismerheti. A sablonok megkönnyítik a folyamatdefiníciók újrafelhasználását.

Ügynökök és készletek

Eddig a Helyi számítógépről telepítette a Bicep-fájlokat. Miután megírt egy Bicep-sablont, üzembe helyezheti az Azure-ban az Azure CLI vagy az Azure PowerShell használatával. Ezek az eszközök a számítógép erőforrásaival küldik el a sablont az Azure-ba. Az Ön személyes identitásával hitelesítik Önt az Azure-ban, és ellenőrzik, hogy rendelkezik-e az erőforrások üzembe helyezéséhez szükséges engedélyekkel.

A folyamatnak hozzá kell férnie egy számítógéphez, hogy végrehajthassa az üzembe helyezés lépéseit. Az Azure Pipelines egy ügynöknek nevezett gépet használ. Az ügynök olyan számítógép, amely konfigurálva van egy folyamat üzembe helyezési lépéseinek futtatására. Minden ügynök már rendelkezik a korábbi modulokban használt Bicep- és Azure-eszközökkel, így ugyanazokat a műveleteket végezheti el, mint a saját számítógépéről. Emberi végrehajtó parancsok helyett az Azure Pipelines szolgáltatás arra utasítja az ügynököt, hogy futtassa a YAML-fájlban definiált lépéseket.

Az Azure Pipelines több típusú ügynököt biztosít különböző operációs rendszerekhez, például az Ubuntuhoz vagy a Windowshoz, valamint különböző eszközökhöz. A Microsoft futtatja ezeket az ügynököket, így önnek nem kell semmilyen számítási infrastruktúrát fenntartania az ügynökök számára. Az ügynököket néha Microsoft által üzemeltetett ügynököknek vagy üzemeltetett ügynököknek is nevezik, mert az Ön nevében vannak üzemeltetve. A folyamat futtatásakor a rendszer automatikusan létrehoz egy üzemeltetett ügynököt. A folyamat futtatása után a rendszer automatikusan törli az üzemeltetett ügynököt. Közvetlenül nem férhet hozzá az üzemeltetett ügynökökhöz, ezért fontos, hogy a folyamat tartalmazza a megoldás üzembe helyezéséhez szükséges összes lépést.

Az ügynökkészletek több azonos típusú ügynököt tartalmaznak. A folyamat létrehozásakor meg kell adnia az Azure Pipelinesnak, hogy melyik ügynökkészletet használja az egyes lépések végrehajtásához. Amikor a folyamat fut, megvárja, amíg egy ügynök elérhetővé válik a készletből, majd utasítja az ügynököt az üzembe helyezési lépések futtatására. A készlet bármely ügynöke hozzárendelhető a folyamat futtatásához.

Diagram that shows a pipeline that runs on an agent within an agent pool.

Megjegyzés:

Lehetősége van saját üzemeltetésű ügynöknek nevezett egyéni ügynök létrehozására. Létrehozhat egy saját üzemeltetésű ügynököt, ha rendelkezik olyan szoftverrel, amelyet a folyamat részeként kell futtatnia, vagy ha pontosan kell szabályoznia az ügynök konfigurálását. Ebben a modulban nem tárgyaljuk a saját üzemeltetésű ügynököket, de az összefoglalóban további információkra mutató hivatkozást biztosítunk.

Triggers

Ha meg szeretné adni az Azure Pipelinesnak, hogy mikor futtassa a folyamatot, hozzon létre egy eseményindítót. Többféle eseményindító közül választhat. Egyelőre manuális eseményindítót fog használni. Manuálisan fogja megmondani az Azure Pipelinesnak, hogy mikor kezdje el futtatni a folyamatot. A modul későbbi részében további információkat fog tudni az eseményindítók egyéb típusairól.

Diagram that shows a trigger initiating a pipeline.

Steps

A lépések egyetlen műveletet jelölnek, amelyet a folyamat hajt végre. A lépések hasonlóak a Bashben vagy a PowerShellben futtatott egyéni parancsokhoz. A legtöbb üzemelő példány esetében több lépést is végrehajt egy sorrendben. Ön határozza meg a folyamat YAML-fájljának minden lépésének sorrendjét és minden részletét.

Az Azure Pipelines kétféle lépést kínál:

  • Szkriptek. Szkriptlépéssel egyetlen parancsot vagy parancssorozatot futtathat a Bashben, a PowerShellben vagy a Windows parancshéjban.
  • Feladatok. A feladatok kényelmesen elérhetik a különböző képességeket szkriptutasítékok írása nélkül. Egy beépített feladat például futtathatja az Azure CLI-t és az Azure PowerShell-parancsmagokat a kód teszteléséhez vagy fájlok FTP-kiszolgálóra való feltöltéséhez. A feladatot bárki megírhatja és megoszthatja más felhasználókkal, ha közzéteszi a feladatot a Visual Studio Marketplace-en. Számos kereskedelmi és nyílt forráskódú feladat érhető el.

Vannak, akik inkább parancsfájl-utasításokat használnak a beépített feladatok helyett, mert nagyobb vezérlést biztosítanak a végrehajtott műveletek felett. Mások inkább a feladatokat használják, hogy ne kelljen szkripteket írniuk és kezelniük. Ebben a modulban mindkét megközelítés keveréket használjuk.

Feladatok

Az Azure Pipelinesban a feladatok a lépések rendezett készletét jelölik. Mindig van legalább egy feladat egy folyamatban, és összetett üzemelő példányok létrehozásakor gyakori, hogy több feladat is van.

Megjegyzés:

Beállíthatja, hogy az egyes feladatok egy másik ügynökkészleten fussanak. A feladatok különböző ügynökkészleteken való futtatása akkor hasznos, ha olyan megoldásokat hoz létre és helyez üzembe, amelyeknek különböző operációs rendszereket kell használniuk a feladatfolyamat különböző részeiben.

Tegyük fel például, hogy egy iOS-alkalmazást és az alkalmazás háttérszolgáltatását készíti. Előfordulhat, hogy az egyik feladat macOS-ügynökkészleten fut az iOS-alkalmazás létrehozásához, egy másik pedig egy Ubuntu- vagy Windows-ügynökkészleten futó feladat a háttérrendszer létrehozásához. Akár azt is megmondhatja a folyamatnak, hogy futtassa egyszerre a két feladatot, ami felgyorsítja a folyamat végrehajtását.

Ebben a modulban deklaráljuk az ügynökkészletet a folyamatdefiníciós fájlok gyökerénél, így a folyamatokban lévő összes feladat ugyanazt az ügynökkészletet használja.

Diagram that shows a pipeline with two steps, both within one job.

Megjegyzés:

Az Azure Pipelines szakaszaival logikai fázisokra oszthatja a folyamatot, és manuális ellenőrzéseket adhat hozzá a folyamat végrehajtásának különböző pontjain. A jövőbeli modulok szakaszaival kapcsolatos további információk.

Példa egyszerű folyamatra

Most, hogy megismerte az Azure Pipelines alapfogalmait, tekintsünk meg egy egyszerű folyamatdefiníciót a YAML-ben:

trigger: none

pool:
  vmImage: ubuntu-latest

jobs:
- job:
  steps:
  - script: echo Hello, world!
    displayName: 'Run a one-line script'
  
  - script: |
      echo We'll add more steps soon.
      echo For example, we'll add our Bicep deployment step.
    displayName: 'Run a multi-line script'

Tekintsük meg részletesen a fájl egyes részeit:

  • trigger jelzi, hogy mikor kell végrehajtani a folyamatot. Ebben az esetben azt mondja meg az Azure Pipelinesnak, trigger: none hogy manuálisan szeretné aktiválni a folyamatot.
  • pool utasítja a folyamatot, hogy melyik ügynökkészletet használja a folyamat lépéseinek futtatásakor. Ebben a példában a folyamat egy Ubuntu operációs rendszert futtató ügynökön fut, amely a Microsoft által üzemeltetett ügynökök készletéből származik.
  • jobs csoportosítja a folyamat összes feladatát.
  • job azt jelzi a folyamatnak, hogy egyetlen feladat áll rendelkezésére.

    Tipp.

    Ha csak egy feladat van a folyamatban, kihagyhatja a kulcsszavakat és job a jobs kulcsszavakat. Itt bemutattuk job , hogyan működnek együtt a fogalmak egy folyamatban.

  • steps A feladatban futtatandó műveletek sorrendjét sorolja fel. A YAML példa két lépést tartalmaz. Mindkét lépés futtasson egy egyszerű szkriptet egy szöveg visszhangzásához. Minden lépésnek van egy displayName értéke, amely a lépés ember által olvasható neve. A folyamatnaplók megtekintésekor megjelenik a megjelenítendő név. Többsoros szkriptlépés létrehozásához használja a pipa karaktert (|) a példában látható módon. A lépés végrehajtása után a kimenetek megjelennek a folyamatnaplóban.

Fontos

YAML-fájlokban fontos a behúzás. Tekintse meg a YAML példát. A YAML egyes sorait két vagy négy szóköz behúzhatja. A használt szóközök száma fontos. Ha nem tudja megfelelően behúzni a fájlt, az Azure Pipelines nem tudja értelmezni. A Visual Studio Code segít megtalálni és kijavítani a YAML-fájlbehúzás hibáit.