A GitHub Actions ismertetése

Befejeződött

Az üzembe helyezési folyamat lépéseit munkafolyamat 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 munkafolyamat futtatja az előre definiált folyamatot. A munkafolyamatok ellenőrizhetik, hogy a Bicep-kód megfelel-e a minőségi szabványoknak, majd automatizálhatja az erőforrások Azure-ban való üzembe helyezéséhez szükséges műveleteket. A folyamat egy ön által létrehozott munkafolyamat-definícióban van definiálva.

A GitHub Actions a GitHub egyik funkciója. A GitHub azokat a Git-adattárakat is üzemelteti, amelyet 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 GitHubon tárolja, a GitHub Actions hozzáférhet a kódhoz az üzembehelyezési folyamatok automatizálásához. Ebben a leckében megismerheti a GitHub Actionst.

Mi az a munkafolyamat?

A munkafolyamat egy konfigurálható megismételhető folyamat, amely a kód teszteléséhez és üzembe helyezéséhez használt fájlban van definiálva. A munkafolyamat a megfelelő sorrendben végrehajtandó összes lépésből áll.

A GitHub Actions használatakor egy YAML-fájlban kell meghatároznia a munkafolyamat-konfigurációt. Mivel a munkafolyamat YAML-fájlja egy kódfájl, a fájl a Bicep-kóddal együtt lesz tárolva a Git-adattárban egy nevű .github/workflowsmappában. A YAML-fájlok olyan strukturált szövegfájlok, mint egy Bicep strukturált szövegfájl. YAML-fájlokat bármely szövegszerkesztővel létrehozhat és szerkeszthet. Ebben a modulban a Visual Studio Code-ot fogja használni szerkesztőként. A GitHub webes felülete olyan eszközöket biztosít, amelyekkel megtekintheti és szerkesztheti a munkafolyamat YAML-fájlját, együttműködhet a munkafolyamat-definíción, és véglegesítések és ágak használatával kezelheti a munkafolyamat-fájl különböző verzióit.

Futók

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 munkafolyamatnak a megfelelő operációs rendszerrel és hardverplatformmal rendelkező számítógéphez vagy GPU-hoz is hozzá kell férnie, hogy végrehajthassa az üzembe helyezési műveleteket. A GitHub Actions futókat használ, amelyek olyan számítógépek, amelyek a munkafolyamat üzembe helyezési lépéseinek futtatására vannak konfigurálva. Minden futó rendelkezik a korábbi modulokban használt Bicep- és Azure-eszközökkal, így a saját számítógépéről is ugyanezt teheti. Emberi végrehajtó parancsok helyett a GitHub Actions szolgáltatás utasítja a futót, hogy futtassa a munkafolyamat YAML-fájljában meghatározott lépéseket.

A GitHub Actions többféle futót biztosít különböző operációs rendszerekhez, például Linuxhoz vagy Windowshoz, valamint különböző eszközökhöz. A GitHub felügyeli ezeket a futókat, így nem kell semmilyen számítási infrastruktúrát fenntartania a futók számára. A futókat néha GitHub által üzemeltetett futóknak vagy üzemeltetett futóknak nevezik, mert az Ön nevében üzemeltetik őket. A munkafolyamat futtatásakor a rendszer automatikusan létrehoz egy üzemeltetett futót. A munkafolyamat futtatása után a futtatott futó automatikusan törlődik. A üzemeltetett futók közvetlenül nem érhetők el, ezért fontos, hogy a munkafolyamat tartalmazza a megoldás üzembe helyezéséhez szükséges összes lépést.

Diagram that shows a workflow that runs on a runner.

Feljegyzés

Létrehozhat egy saját üzemeltetésű futónak nevezett egyéni futót. Létrehozhat egy saját üzemeltetésű futót, ha olyan szoftverrel rendelkezik, amelyet a munkafolyamat részeként kell futtatnia, vagy ha pontosan kell szabályoznia a futó konfigurálását. Ebben a modulban nem tárgyaljuk a saját üzemeltetésű futókat, de az Összefoglalás szakaszban további információkra mutató hivatkozást biztosítunk.

Eseményindítók

Eseményindítóval utasíthatja a GitHub Actionst, hogy mikor futtassa a munkafolyamatot. Többféle eseményindító közül választhat. Egyelőre egy manuális eseményindítóval fogja megmondani a GitHub Actionsnek, hogy mikor kezdje el futtatni a munkafolyamatot. 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 workflow.

Lépések

A lépések egyetlen műveletet jelölnek, amelyet a munkafolyamat 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 munkafolyamat YAML-fájljának minden lépésének sorrendjét és minden részletét.

A GitHub Actions kétféle lépést kínál:

  • Futtatási lépések: Futtatási lépéssel futtathat egyetlen parancsot vagy parancssorozatot a Bashben, a PowerShellben vagy a Windows parancshéjban.
  • Műveleti lépések: A műveletlépésekkel számos különböző képesség érhető el szkriptutasítások írása nélkül. Van például egy beépített feladat a Bicep-fájlok Azure-ban való üzembe helyezéséhez. Bárki írhat műveletet, és megoszthatja más felhasználókkal. Számos kereskedelmi és nyílt forráskódú feladat érhető el.

Vannak, akik inkább parancsprogram-utasításokat használnak a műveletek helyett, mert nagyobb vezérlést biztosítanak a végrehajtott műveletek felett. Mások inkább úgy használják a műveleteket, hogy ne kelljen szkripteket írniuk és kezelniük. Ebben a modulban mindkét megközelítés keveréket fogjuk használni.

Feladatok

A GitHub Actionsben a feladatok a lépések rendezett készletét jelölik. Egy munkafolyamatban mindig van legalább egy feladat, és gyakran előfordul, hogy összetett központi telepítések létrehozásakor több feladat is van.

Feljegyzés

Az egyes feladatokat beállíthatja úgy, hogy egy másik futón fussanak. A feladatok különböző futókon 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 feladat munkafolyamatának 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. Lehet, hogy van egy feladat, amely macOS-futón fut az iOS-alkalmazás létrehozásához, és egy másik feladat, amely egy Ubuntu vagy Windows-futón fut a háttér létrehozásához. Akár azt is megmondhatja a munkafolyamatnak, hogy egyszerre futtassa a két feladatot, ami felgyorsítja a munkafolyamat végrehajtását.

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

Egyszerű munkafolyamat-példa

Most, hogy megismerte a GitHub Actions alapfogalmait, tekintsünk meg egy egyszerű munkafolyamat-definíciót a YAML-ben:

name: learn-github-actions

on: [workflow_dispatch]

jobs:
  say-hello:
    runs-on: ubuntu-latest
    steps:
      - name: 'Run a one-line command'
        run: echo "hello from GitHub Actions"
      - name: 'Run a multi-line command'
        run: |
          echo "We'll add more steps soon."
          echo "For example, we'll add our Bicep deployment step."

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

  • name a munkafolyamat neve. A név megjelenik a GitHub webes felületén.
  • on jelzi a munkafolyamat végrehajtását. Ebben az esetben a GitHub Actions azt jelzi, on: [workflow_dispatch] hogy manuálisan szeretné aktiválni a munkafolyamatot.
  • jobs a munkafolyamat összes feladatát csoportosítja.
  • say-hello a munkafolyamat első és egyetlen feladatának neve.
  • runs-on utasítja azt a munkafolyamatot, amelyet a futó a feladat futtatásakor használ. Ebben a példában a munkafolyamat egy Ubuntu operációs rendszeren fut, amely a GitHub által üzemeltetett futók készletéből származik.
  • steps A feladatban futtatandó lépések sorrendjét sorolja fel. A yaml példának két lépése van. Mindkét lépés futtasson egy egyszerű szkriptet egy szöveg visszhangzásához. Minden lépésnek van egy name értéke, amely ember által olvasható. A nevet a munkafolyamat-naplókban láthatja. 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 munkafolyamat-napló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. Ha nem húzza be megfelelően a fájlt, a GitHub Actions nem tudja értelmezni. A Visual Studio Code segít megtalálni és kijavítani a YAML-fájlbehúzás hibáit.