Mi az Azure Pipelines?

Befejeződött

A Microsoft Azure Pipelines egy felhőszolgáltatás, a kódprojekt automatikus elkészítéséhez, teszteléséhez és üzembe helyezéséhez használható. Azt is elérhetővé teheti más felhasználók számára, és nagyjából bármilyen nyelvvel vagy projekttípussal működik.

Mara alig várja, hogy replikálhassa a csapat buildfolyamatát az Azure Pipelinesban. Amita, a tesztelő végre szabadideje van, és fel akarja zárkózni. Mara úgy dönt, hogy most nagyszerű alkalom, hogy elmondja neki a tervét: egy automatizált buildelési folyamat beállítása a Space Game webhelyhez az Azure Pipelines használatával.

Amikor Amita meghallja Mara tervét, kissé elbizonytalanodik. De mivel Mara terve az, hogy replikálja a buildelési folyamatot, de nem helyettesíti azt, ő is kíváncsi. Tudja, hogy a buildfolyamat fejlesztésre szorul.

Amita: Úgy hangzik, mint egy érdekes gyakorlat, de meg kell, hogy bizonyítsa a DevOps pontot!

Mara: Már ismersz engem olyan jól!

Amita: Milyen fejlesztéseket vár, különösen azért, mert azt fogja tenni, amit már csinálunk?

Mara: Úgy gondolom, hogy az Azure Pipelinesra való áttérés számos előnnyel jár. Ne feledd, az Azure Pipelines egy felhőszolgáltatás. Automatikusan létrehozhatjuk és tesztelhetjük vele a kódokat, amikhez mások is hozzá tudnak majd férni. Szinte bármilyen nyelvvel vagy a projekttípussal működik.

A buildkiszolgáló problémái vannak, és még a naprakészen tartása is nehéz. Mivel az Azure Pipelines olyan buildkiszolgálókat biztosít, amelyeket a Microsoft üzemeltet és tart fenn, mindig a legújabb javításokkal és biztonsági frissítésekkel rendelkezik. Nem kell aggódnunk a buildkiszolgálók karbantartása miatt.

Ráadásul rengeteg különféle szkriptünk van, más-más szerzőktől. Néhánynak még a működését sem értjük. Az Azure Pipelines alapból tartalmaz egy feladatkatalógust. A feladat egy olyan csomagolt szkript vagy eljárás, amelyet a rendszer bemenetek készletével absztrakcióval absztrakált. Megpróbálom feltérképezni, hogy mit tesznek a buildszkripteink azokkal a feladatokkal. Legalább szabványosíthatjuk, hogyan mennek végbe a dolgok, és növelhetjük az automatizálás szintjét.

Az Azure Pipelines számos különböző nyelvvel és alkalmazástípussal működik. Ha terjeszkedni szereznénk ezekbe az irányokba, nem kell új eszközöket bevetnünk.

Amita: Tudom, hogy önző, de miért érdekel? Az az egyik legnagyobb problémám, hogy soha nem tudom, mikor kerülnek tesztelhető állapotba a buildek. Néha előfordul, hogy valaki emlékszik a számolótábla frissítésére, de sokszor elfelejti. Úgy tűnik, hogy mindig én vagyok az utolsó, akinek szólnak.

Mara: Igen, ezt könnyen meg tudjuk oldani. Beállíthatjuk, hogy a folyamat automatikusan értesítést küldjön e-mailben vagy más értesítésben, ha a build készen áll. Soha nem kell megvárnia, amíg valaki emlékezteti.

Amita: Oké, tehát a cél most az, hogy felépítse az alkalmazást, és tudassa velem, ha készen áll?

Mara: Jobbra! Persze vannak ennél nagyobb terveim is. Tudom, hogy imádni fogja ezt az első lépést, ezért arra szeretnék építeni, hogy valódi folyamatos integrációt biztosítsunk.

Amita: Adja meg az 5 perces lefutást a folyamatos integrációról.

Mara: Hadd rajzoljak neked egy képet.

Mara a rajztáblára lép, és megrajzolja a folyamatot.

Screenshot of a hand-drawn illustration of a CI pipeline. The Build, Test, and Verify stages act on code. The build artifact is the output.

Mara: Ez az én CI-folyamatom. A CI a kód létrehozásának és tesztelésének automatizálása minden alkalommal, amikor egy csapattag módosításokat hajt végre a verziókövetésben. Tudom, hogy még nem végezünk automatizált tesztelést, de adjunk neki időt.

A folyamat határozza meg az alkalmazás folyamatos integrálási folyamatát. Ez a tevékenységeknek nevezett lépésekből áll. Úgy tekinthet rá, mint egy szkriptre, amely meghatározza a buildelési, tesztelési és üzembe helyezési lépések futtatását. Megpróbálom feladatra leképezni a szkripteket.

A folyamat a kódmódosítások elküldésekor fut. Beállíthatja, hogy a folyamat automatikusan fusson, vagy manuálisan is futtatható. A folyamatot egy forrásadattárhoz, például a GitHubhoz, a Bitbuckethez vagy a Subversionhoz csatlakoztathatja. A futam egyik feladata a GitHub használatának megkezdése. Ezért a GitHubot fogjuk használni ehhez a projekthez.

A buildügynök létrehozza vagy üzembe helyezi a kódot. Amikor a build vagy az üzemelő példány fut, a rendszer elindít legalább egy feladatot. Az ügynök egy telepíthető szoftver, amely egyszerre egyetlen buildelési vagy üzembe helyezési feladatot futtat. Mivel az Azure Pipelinest használjuk, Microsoft által üzemeltetett ügynököt is használhatunk. A Microsoft által üzemeltetett ügynökökkel a karbantartásról és a frissítésekről gondoskodunk. Minden alkalommal, amikor futtatunk egy folyamatot, egy új virtuális gépet kapunk. Számos virtuálisgép-rendszerkép közül választhat, például az Ubuntu 22.04-et, amelyet használunk.

A folyamat végső terméke egy buildösszetevő . Gondoljon egy összetevőre, mint az alkalmazás teszteléséhez vagy üzembe helyezéséhez szükséges legkisebb lefordított egységre. Az összetevő lehet például:

  • .jar vagy .zip fájlba csomagolt Java- vagy .NET-alkalmazás.
  • C++ vagy JavaScript kódtár.
  • Virtuális gép, felhő vagy Docker-rendszerkép.

Ennyi az egész. Tudom, hogy meg tudjuk csinálni.

Amita: Jól hangzik. Nézzük meg, mit kell tenned ahhoz, hogy működésre bírd, és mennyi időre van szükséged. Tarthatsz nekünk egy bemutatót.

Mara: Megteszi!

Buildügynökök kezelése

Most, hogy Ön és a csapat már ismeri az Azure Pipelinest, beszéljünk egy kicsit többet az ügynökök buildeléséről. A buildügynök egy telepíthető szoftver, amely egyszerre egy buildelési vagy üzembe helyezési feladatot futtat. A kód létrehozásához vagy a szoftver üzembe helyezéséhez legalább egy ügynökre van szüksége. Amikor további kódot és személyeket ad hozzá, végül több ügynökre lesz szüksége. Az ügynököknek két fő kategóriája van.

  • A Microsoft által üzemeltetett ügynökök a Microsoft által felügyelt ügynökök, és a karbantartásról és a frissítésekről ön gondoskodik. Minden alkalommal, amikor futtat egy folyamatot, új ügynököt kap a folyamat minden egyes feladatához. Ebben a modulban, amikor a Helyi fejlesztési környezetet választja egy Microsoft által üzemeltetett ügynökkel, a folyamatot egy Microsoft által üzemeltetett ügynökön futtatja. Ha egy Microsoft által üzemeltetett ügynökön szeretne folyamatokat futtatni, a szervezetnek legalább egy Microsoft által üzemeltetett párhuzamos feladattal kell rendelkeznie. Ellenőrizze a Microsoft által üzemeltetett párhuzamos feladatok számát , hogy rendelkezik-e legalább egy Microsoft által üzemeltetett párhuzamos feladathoz. Ha a Microsoft által üzemeltetett párhuzamos feladatok száma nulla (az új Azure DevOps-szervezetek általában nulla párhuzamos feladattal rendelkeznek), ingyenes támogatást kérhet. Az ingyenes támogatás jóváhagyási folyamata általában 2-3 munkanapot vesz igénybe.

  • A saját üzemeltetésű ügynökök az Ön által felügyelt ügynökök. Konfigurálja a virtuális gépeket vagy tárolókat az ügynökszoftver és a kívánt eszközök telepítésével, és regisztrálja az ügynököket az Azure DevOpsban. Ebben a modulban, amikor a GitHub Codespaces fejlesztői környezetet választja egy saját üzemeltetésű ügynökkel, egy saját üzemeltetésű ügynököt használ, amely a GitHub Codespaces-tárolóban fut. Az ügynök önkiszolgáló üzemeltetése egy GitHub Codespaces-tárolón nem egy tipikus éles forgatókönyv, de a betanítási modul elvégzéséhez biztosít környezetet.

Tesztelje tudását

1.

Az alábbiak közül melyik számít buildösszetevőnek?