Munkafolyamat és verziószámozási stratégia tervezése

Befejeződött

Amikor újrahasználható Bicep-kódot kezd közzétenni, valószínűleg manuális megközelítést használ. Könnyen meghatározhatja, hogy melyik Bicep-fájlt kell közzétennie, és valószínűleg van egy manuális folyamat a verziószám növeléséhez.

A közzétételi folyamat automatizálása során meg kell fontolnia, hogyan automatizálhatja ezeket a lépéseket. Ebben a leckében megtanulhatja, hogyan hozhat létre verziószámozási rendszert, amely közli a kódon végrehajtott módosításokat. Azt is megtudhatja, hogyan teheti közzé a munkafolyamatokat úgy, hogy csak a várt kódot tegye közzé.

Verziószámok

A Microsoft Learn korábbi képzési moduljaiban megismerkedett a sablon-specifikációk és a Bicep-modulok verziószámozásának fontosságával. Számos különböző verziószámozási módszer közül választhat. Sok esetben ajánlott többrészes verziószámozási rendszert használni. A többrészes verziószámozási rendszer főverzióból, alverzióból és változatszámból áll, az alábbi példához hasonlóan:

Az 1.4.106-os verziószámot ábrázoló diagram.

Az előző példában a főverzió 1, az alverzió 4, a verziószám pedig 106.

A verziószámok különböző részeinek változásai fontos információkat közölnek a kód módosításainak típusairól:

  • Ha kompatibilitástörő módosítást tesz, növelnie kell a főverzió számát. Tegyük fel például, hogy új kötelező paramétert ad hozzá, vagy eltávolít egy paramétert a Bicep-fájlból. Ilyenek például a kompatibilitástörő változások, mivel a Bicep megköveteli a kötelező paraméterek megadását az üzembe helyezéskor, és nem teszi lehetővé a nem létező paraméterek értékeinek beállítását. Ezért frissítenie kell a főverzió számát.

  • Ha újat ad hozzá a kódhoz, de ez nem kompatibilitástörő változás, növelje az alverzió számát. Tegyük fel például, hogy új opcionális paramétert ad hozzá alapértelmezett értékkel. Az opcionális paraméterek nem törik meg a módosításokat, ezért frissítenie kell az alverzió számát.

  • Ha visszamenőlegesen kompatibilis hibajavításokat vagy más olyan módosításokat végez, amelyek nem befolyásolják a kód működését, növelnie kell a verziószámot. Tegyük fel például, hogy újra átfésüli a Bicep-kódot a változók és kifejezések jobb kihasználása érdekében. Ha az újrabontás egyáltalán nem változtatja meg a Bicep-kód viselkedését, frissítse a változatszámot.

  • A munkafolyamat automatikusan beállíthatja a változatszámot is. A munkafolyamat futtatási száma használható változatszámként. Ez az egyezmény segít biztosítani, hogy a verziószámok mindig egyediek legyenek, még akkor is, ha nem frissíti a verziószámok többi összetevőjét.

Tegyük fel például, hogy valaki más által közzétett Bicep-modult használ. A modul verziószáma: 2.0.496. Láthatja, hogy a modul új verziója elérhető a verziószámmal 2.1.502. Az egyetlen jelentős változás az alverzió száma, ami azt jelzi, hogy az új verzió használatakor nem kell kompatibilitástörő változásra számítania.

Feljegyzés

A szemantikus verziószámozás a többrészes verziószámozáshoz hasonló formalizált verziószámozási struktúra. A szemantikus verziószámozás további összetevőket tartalmaz a verziószámban, valamint szigorú szabályokat is tartalmaz arra vonatkozóan, hogy mikor kell beállítani vagy alaphelyzetbe állítani az egyes összetevőket. Az összegzésben a szemantikai verziószámozással kapcsolatos további információkra hivatkozunk.

A csapatnak el kell döntenie, hogyan definiálhat kompatibilitástörő változást a verziószámozás céljából. Tegyük fel például, hogy létrehozott egy Bicep-modult, amely egy tárfiókot helyez üzembe. Most frissíti a Bicep-fájlt, hogy engedélyezze a privát végpontokat a tárfiókban. Egy privát DNS-zónát ad hozzá a Bicep-fájlhoz egyszerre.

Ebben a példában a Bicep-fájl paramétereinek vagy kimeneteinek befolyásolása nélkül is elvégezheti a módosítást. Így előfordulhat, hogy bárki, aki telepíti a fájlt, nem veszi észre, hogy bármi más. Ez a változás azonban jelentős különbséget jelent az erőforrások viselkedésében, ezért dönthet úgy, hogy fő verziófrissítésként kezeli.

Dönthet úgy is, hogy egyszerűbb verziószámozási stratégiát használ, például a munkafolyamat futtatási számát használja verziószámként. Bár ez a megközelítés könnyebben implementálható, ez azt jelenti, hogy nem tudja hatékonyan kommunikálni a verziók közötti különbségeket bárkivel, aki a kódot használja.

Verziók és munkafolyamatok

Ha interaktívan teszi közzé a kódot, például az Azure CLI használatával, valószínűleg a sablon specifikációjához vagy moduljához hozzárendelt verziószámra gondol a közzététel során. Az automatizált üzembehelyezési munkafolyamatokban azonban módosítania kell a verziószámok hozzárendelésére vonatkozó megközelítést. A munkafolyamat nem képes automatikusan észlelni a kompatibilitástörő változásokat, és nem tud tanácsot adni, hogy mikor kell növelni a fő- vagy alverziószámokat. A sablon specifikációjának vagy moduljának közzététele előtt alaposan fontolja meg a verziószámozást.

Az egyik módszer egy metaadatfájl tárolása a Bicep-kóddal, az alábbi ábrán látható módon:

Egy két modult és egy sablon specifikációt tartalmazó fájlrendszer-hierarchiát ábrázoló diagram, amelyek mindegyike egy társított metaadat-pont J S O N fájllal rendelkezik.

Amikor frissíti a Bicep-kódot, a megfelelő metaadatfájlban frissíti a verzióinformációkat. Győződjön meg arról, hogy helyesen azonosítja a kompatibilitástörő és a nem törhető módosításokat, hogy megfelelően növelhesse a verziószámokat.

Tipp.

Ha a csapat lekéréses kérések használatával tekinti át a Bicep-kódot, kérje meg a véleményezőket, hogy ellenőrizzek, hogy a kód módosításaihoz szükség van-e a fő- vagy alverziószám módosítására.

A következő gyakorlatban látni fogja, hogyan használhat metaadatfájlokat.

Hány munkafolyamat van?

Gyakori, hogy sablon-specifikációk és modulok gyűjteményét kell összeállítani. Gyakran érdemes ezeket ugyanabban a Git-adattárban tartani.

A GitHub Actions elérésiút-szűrőinek használatával külön munkafolyamatokat hozhat létre az adattárban lévő egyes modulokhoz vagy sablonspektúrákhoz. Ez a módszer segít elkerülni, hogy minden bicep-fájl új verzióját tegye közzé az adattárban minden alkalommal, amikor egy fájlt módosít. Az újrafelhasználható munkafolyamatok segítségével meghatározhatja a munkafolyamat lépéseit egy központi fájlban, így az egyes modulok és sablonspecifikációk munkafolyamata egyszerű marad.

Tegyük fel például, hogy a korábban bemutatotthoz hasonló fájlszerkezettel rendelkezik. Három külön munkafolyamatot konfigurálhat, egyet minden Bicep-fájlhoz. Jelölje ki az egyes lapokat a megfelelő munkafolyamat-definíció és elérésiút-szűrő megtekintéséhez:

name: 'publish-module-1'

on:
  push:
    branches:
      - main
    paths:
      - 'module-1/**'

jobs:
  publish:
    uses: ./.github/workflows/publish-module.yml
    with:
      path: 'module-1/main.bicep'

Tegyük fel, hogy csak a modul-2/main.bicep fájlt módosítja. Csak a 2. modul munkafolyamata fut. Ha azonban ugyanabban a véglegesítésben több fájlt módosít, a rendszer aktiválja az egyes releváns munkafolyamatokat.

Feljegyzés

Az egyes újrafelhasználható Bicep-fájlok munkafolyamatának létrehozásának módja egyszerű és rugalmas. Nehézkessé válhat azonban, ha nagy számú Bicep-fájllal rendelkezik, vagy ha nem szeretne külön munkafolyamatokat fenntartani minden modulhoz és sablon specifikációhoz.

Szkripteket is írhat a munkafolyamaton belül, hogy megkeresse a módosított kódot, és csak ezeket a fájlokat tegye közzé. Ez egy összetettebb megközelítés, amely túlmutat a Microsoft Learn képzési modul hatókörén.

Újrahasználható Bicep-kód környezetei

Amikor a Bicep használatával helyezi üzembe az Azure-ban, gyakori, hogy több környezet használatával ellenőrzi és teszteli a kódot, mielőtt közzéteené a kódot egy éles környezetben. A Microsoft Learn korábbi képzési moduljaiban megtanulta, hogyan dolgozhat több környezettel egy üzembehelyezési munkafolyamatból.

Egyes szervezetek ugyanazokat az alapelveket alkalmazzák a Bicep-modulokra és a sablon specifikációira. Előfordulhat például, hogy először közzéteszi a modulok új verzióit egy nem gyártási beállításjegyzékben, hogy az egyes modulok felhasználói kipróbálhassák az új verziókat. Ezután a kijelentkezés után közzéteheti a modulokat a szervezet éles beállításjegyzékében.

A szokásos üzemelő példányokhoz hasonlóan feladatok és újrafelhasználható munkafolyamatok használatával is meghatározhatja az üzembe helyezési sorrendet a környezetekben. Ebben a Microsoft Learn képzési modulban egyetlen környezetben tesszük közzé a munkafolyamat egyszerűségének érdekében.

Amikor egy beállításjegyzékből származó modulokat használ, vagy egy sablon specifikációt használ Bicep-modulként, aliasokat használhat. Ahelyett, hogy minden modul definiálásakor megadná a beállításjegyzék nevét vagy a sablon specifikációjának helyét, annak aliasát használná.

Az aliasok használatával az üzembehelyezési folyamat több környezetben is működik. Ha például egy modult definiál, a beállításjegyzék neve helyett aliast használhat. Ezután megtervezhet egy üzembehelyezési munkafolyamatot, hogy konfigurálja a megfeleltetendő aliast:

  • Fejlesztői modul beállításjegyzéke tesztkörnyezetben való üzembe helyezéskor.
  • Éles beállításjegyzék más környezetekben való üzembe helyezéskor.

Feljegyzés

Az aliasok nem érvényesek a közzétételkor. Ezek csak akkor működnek, ha sablon-specifikációkat vagy modulokat használ egy Bicep-fájlban.