Folyamatos teljesítés felfedezése a GitHub Actions használatával
A GitHub Actions a GitHub platform képességeinek használatával biztosítja a szoftverkézbesítési munkafolyamatok implementálásának mechanizmusát. Ez lenne a legoptimálisabb CI/CD-megközelítés a szervezet számára a mintaforgatókönyvben, figyelembe véve a GitHub használatát a DevOps folyamatában. Ebben a leckében megismerheti, hogyan hozhat létre és futtathat CI-/CD-munkafolyamatokat a GitHub Actions használatával.
Mik azok a GitHub Actionsek?
A GitHub kontextusában a műveletek kifejezés valójában kettős jelentéssel bír. Az első (nagybetűs műveletek) a GitHub szolgáltatást jelöli, amely lehetővé tette a CI/CD-munkafolyamatok implementálását. A második (kisbetűs műveletek) olyan újrafelhasználható egységeket jelöl ki, amelyek a munkafolyamatokban egy adott funkció, például szkriptek és végrehajtható fájlok futtatásához, összetevők létrehozásához és feltöltéséhez, illetve azure-előfizetéshez való hozzáférés beállításához használhatók.
Mik a GitHub Actions fő összetevői?
A GitHub Actions fő összetevői a következők:
- munkafolyamat: EGY YAML-formátumú fájlban tárolt lépések sorozata. A munkafolyamatok akkor hajtják végre a lépéseket, ha manuálisan vagy (gyakrabban) automatikusan aktiválódnak az adattárral kapcsolatos tevékenységekkel, például leküldésekkel vagy ágegyesítésekkel.
- feladat: a munkafolyamat legfontosabb eleme. A munkafolyamaton belüli feladatok párhuzamosan vagy egymást követően is futtathatók.
- lépés: egy feladat legfelső eleme. Minden lépés egy adott tevékenységet végrehajtó tevékenység vagy művelet, például szkript futtatása vagy összetevő létrehozása.
- művelet: előre összeállított vagy egyéni fejlesztésű tevékenység (a korábban említettek szerint). A GitHub egy piacteret biztosít, ahol számos előre összeállított művelet található.
- változó: névvel ellátott érték, amely lehetővé teszi az adatok tárolását és újrafelhasználását a munkafolyamat lépései között. Létrehozhat saját egyéni változókat, vagy használhatja az egyes munkafolyamatokon belül automatikusan beállított előre definiált alapértelmezett környezeti változókat.
- titkos: bizalmas adatok tárolására használható titkosított változó.
Hogyan hozhat létre GitHub Actions-munkafolyamatot?
GitHub Actions-munkafolyamat létrehozásához kövesse az alábbi lépéseket:
- Hozzon létre egy adattárat. A GitHub Actions-munkafolyamat implementálásához szüksége lesz egy GitHub-fiókra és egy adattárra. Alapértelmezés szerint az új adattár tartalmazza az alapértelmezett ágat, amelyet általában main-nek hívnak.
- Hozzon létre egy .github/workflows könyvtárat. A GitHub Actions-munkafolyamatoknak a .github/workflows könyvtárban kell elhelyezkedniük az adattár gyökérkönyvtárában.
- Hozzon létre egy YAML-fájlt. A GitHub Actions-munkafolyamat YAML formátumú. A neve tetszőleges, de a bővítmény várhatóan .yml lesz.
- Definiálja a munkafolyamatot a YAML-fájlban, és mentse a módosításokat. A YAML-fájlnak tartalmaznia kell a munkafolyamat-definíciót.
- A mentett fájl elkötelezése a tárolóba. A munkafolyamat módosításainak véglegesítéséhez végre kell hajtania a véglegesítést, mint minden olyan fájlt, amely az adattár részét képezi. Ha úgy dönt, hogy létrehoz egy munkafolyamatot a helyi számítógépen (a GitHub webes felületének használata helyett), klónozza az adattárat a létrehozás után, alkalmazza és véglegesítse a módosításokat helyileg, majd leküldi őket a GitHubra.
Íme egy egyszerű példa egy GitHub Actions-munkafolyamatra, amely végrehajtásakor a Hello from GitHub Actions! üzenetet jeleníti meg.
name: Simple GitHub Actions workflow
on: [push]
jobs:
say_hello:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Run Build Script
run: |
echo "Hello, GitHub Actions!"
A munkafolyamat első sora határozza meg a nevét, amely a GitHub webes felületén, az adattár Műveletek lapján jelenik meg. A on: [push] sor kijelöli az eseményt, amely elindítja a munkafolyamat futtatását (ebben az esetben leküldés a munkafolyamat adattárának bármely ágába).
A munkafolyamat egyetlen , say_hello nevű feladatból áll, amelyet a jobs: sort követő tartalom jelez. A következő sor (runs-on: ubuntu-latest) határozza meg a feladat futtatásához használni kívánt operációs rendszer típusát. A választás a feladat által tartalmazott feladatoktól függ, és ebben az esetben a feladat bármely Windows-alapú operációs rendszeren is futna.
A feladat két lépésből áll, amelyeket a steps: sort követő tartalom jelez. A lépés szintaxisa támogatja az opcionális névattribútumot, amely segíthet megérteni a lépés célját a munkafolyamat-futtatások áttekintésekor. A szintaxis fennmaradó része attól függ, hogy egy adott lépés milyen típusú műveletet hajtson végre. Ebben a példában az első lépés az aktuális adattár kivétele (amely letölti az adattár tartalmát arra a rendszerre, ahol a feladat fut), a második pedig az echo parancsot futtatja, amely egy barátságos üzenetet jelenít meg.
Ha a CI/CD funkciót a GitHub Actions munkafolyamataiba szeretné integrálni, több lépést is hozzáadhat (egy vagy több feladatban), amelyek automatizált buildelési, tesztelési és üzembe helyezési műveleteket hajtanak végre. A munkafolyamat-végrehajtás aktiválása után nyomon követheti annak előrehaladását a GitHub-adattár "Műveletek" lapjára lépve.
Jegyzet
A GitHub Actions-munkafolyamatok értelmesebb példáival dolgozhat, amelyek a modul laborjában szemléltetik a CI/CD-integrációt.