Mi az a folyamatos teljesítés?

Befejeződött

Az alábbiakban a Tailspin csapatát követjük, amikor arról beszélnek, hogyan segítheti őket a folyamatos kézbesítési (CD-) folyamat a közelgő kiadásban.

A Tailspin csapata kezd jobban érezni magát a buildelési folyamattal kapcsolatban. Automatizált folyamat fut az Azure Pipelineson, ami azt jelenti, hogy a buildkörnyezet stabil. Amita azonnal tudja, mikor kell tesztelnie egy műtárgyat. Kevesebb hibát talál, mert Andy és Mara megkezdték az egységtesztek és a kódminőségi tesztek hozzáadását. Az élet jól néz ki. Most térjünk vissza újra a csapathoz.

Reggeli értekezlet

A csapat a tárgyalóban várja Irwint, a termékmenedzsert, aki beszélni akar velük. Alig várják, hogy elmondják neki a fejlődésüket. De amikor Irwin bemegy, nem tűnik boldognak. Azonnal elkezd beszélni.

Ma reggel megbeszélésem volt a vezetőségtel. Tudni szeretnék, miért tart ilyen sokáig a játékaink és webhelyeink kiadása. Legközelebbi versenytársaink sokkal gyorsabban kapnak új funkciókat és új játékokat, mint mi. Fel kell gyorsítanunk a dolgokat. Nem csak téged riasztok. Figyelmeztetem az összes csapatot. Mit tehetünk a csapat gyorsabb üzembe helyezésének elősegítése érdekében?

Andy: Ez egy kicsit hirtelen, de egy kicsit előttünk járunk. Már automatizáljuk a webhelyeink készítését. Talán itt az ideje, hogy kiterjesszük az automatizálást a kiadási folyamatunkra.

Hogyan csinálná ezt?

Mara: Létrehoztunk egy automatizált buildelési folyamatot az Azure Pipelines használatával. Létrehoz egy összetevőt, amelyet Amita tesztelhet. Létrehozhatunk egy folyamatos kézbesítési (CD) folyamatot is.

Irwin: Mi az a CD-folyamat?

Mara elkezd magyarázni, de megszakad, amikor Irwin mobiltelefonja sípol. Irwin felolvas egy sms-t, és a lélegzete alatt morog.

Sajnálom, de ez sürgős. Mennem kell. Miért nem találják ki mind ezt a CD-t, és térjenek vissza hozzám hamarosan?

Andy körülnéz a csapatára.

Andy: Kávé?

Andy és a csapat többi tagja a kávézóba indulnak, hogy létrehozzák a tervet.

Mi az a folyamatos teljesítés?

A csapat kávéval találkozik, hogy kitalálja, hogyan állíthat be folyamatos kézbesítési munkafolyamatot.

Andy: Mara, meg tudod mondani, mit tudsz a folyamatos kézbesítésről?

Mara: Számomra a CD és a DevOps elválaszthatatlanok. Ne feledje, hogy a DevOpsot emberek, folyamatok és termékek egyesüléseként határoztuk meg, hogy lehetővé tegyük a végfelhasználók számára az érték folyamatos átadását.

A CD önmagában olyan folyamatok, eszközök és technikák készlete, amelyek lehetővé teszik a szoftverek gyors, megbízható és folyamatos továbbítását. A CD tehát nem csak a folyamat beállításáról szól, bár ez a rész fontos. A CD egy olyan munkakörnyezet beállításáról szól, ahol:

  • Megbízható és megismételhető folyamatunk van a szoftverek kiadásához és üzembe helyezéséhez.
  • A lehető legnagyobb mértékben automatizáljuk.
  • Nem csinálunk olyan dolgot, ami nehéz vagy fájdalmas; ehelyett gyakrabban csináljuk, hogy kitaláljuk, hogyan kell rutinszerűvé tenni.
  • Mindent a forrás ellenőrzése alatt tartunk.
  • Mindannyian egyetértünk abban, hogy a tett azt jelenti, hogy elengedték.
  • A minőség beépítése a folyamatba. A minőség soha nem utógondolat.
  • Mindannyian felelősek vagyunk a kiadási folyamatért. Már nem silókban dolgozunk.
  • Mindig megpróbálunk fejlődni.

Már sok ilyen ötletet üzembe helyeztünk, és mindannyian egyetértünk abban, hogy javítottak a munkánkon. A CD a már elindítottak kiterjesztése.

Miért van szükségem folyamatos kézbesítésre?

A CD segítségével a szoftvercsapatok gyorsan megbízható szoftverfrissítéseket biztosíthatnak ügyfeleiknek. A CD azt is biztosítja, hogy az ügyfelek és az érdekelt felek is gyorsan rendelkezzenek a legújabb funkciókkal és javításokkal.

Továbbra is hallgassuk meg a csapatot, miközben beszélnek erről.

Andy: Köszönöm, Mara. Cd-re van szükségünk, mert mint tudjuk, a világ megváltozott. Az új funkciók gyorsabban jelennek meg. Frissítések és hibajavításokat azonnal el kellérhetővé tenni. Nem csak a vezetőségünk szeretné felgyorsítani a kiadásokat. A felügyelet egyszerűen reagál az ügyfeleink igényeire. Ha az ügyfelek nem tudják megkapni, amit akarnak tőlünk, máshová mennek.

Tim: Egyetértek! Alig várom, hogy elkezdhessem.

Andy: Köszönöm, mindenki. Azt fogom javasolni, hogy Mara és én összeállítottunk egy egyszerű megvalósíthatósági igazolást (POC). Azt hiszem, minden sokkal könnyebb megérteni, ha látja a CD folyamat működés közben.

Amita: Sok szerencsét, ti ketten.

A csapat elhagyja Andyt és Marát, hogy kiderítse a részleteket.

Hogyan hasonlítja össze a folyamatos kézbesítés a jobb gombbal történő közzétételt?

Számos fejlesztési eszköz lehetővé teszi az alkalmazás közvetlen közzétételét bizonyos célkörnyezetekben, például a Microsoft Internet Information Servicesben (IIS) vagy az Azure-ban. Közzétehet például egy ASP.NET Core-alkalmazást az Azure-ban a Visual Studio használatával. Ezt a folyamatot a jobb gombbal történő közzétételnek is nevezik.

A jobb gombbal kattintva történő közzététel nagyszerű módja egy prototípus gyors elkészítésének. Előfordulhat például, hogy a jobb gombbal az alkalmazás azure-ban való közzétételére kattint, hogy új ötletet oszthass meg a csapatával. Ez a technika azonban korlátozásokkal rendelkezik.

A folyamatos teljesítés egységes módot biztosít Önnek és csapatának az alkalmazás folyamatos tesztelésére, üzembe helyezésére és monitorozására minden alkalommal, amikor bejelentkezik a kódba. Amikor a jobb gombbal az alkalmazás közzétételére kattint, nincs garancia arra, hogy a kód megfelelően lett tesztelve, vagy a valós használat során a várt módon fog működni.

Ebben a rövid videóban Abel Wang, a Microsoft felhőtanácsadója további tudnivalókat ismertet.

Hogyan viszonyul a folyamatos teljesítés a folyamatos üzembe helyezéshez?

A DevOps-közösségben hallhatja a folyamatos teljesítés és a folyamatos üzembe helyezés feltételeit. Ezek a kifejezések ugyanazt jelentik? Ebben a rövid videóban Abel elmagyarázza a különbséget.

Milyen folyamatos kézbesítési eszközöket használhatok?

Az értekezlet befejezése után Andy és Mara megtervezi a következő lépéseket. Az Azure Pipelines használatával fejlesztik a szoftvereiket. Meg szeretnék fontolni, hogy milyen eszközök érhetők el, köztük az Azure Pipelines is, amelyek segítenek nekik a kiadási folyamatukban.

Mara: Hol szeretné kezdeni?

Andy: Először is meg kell egyeznünk a kiadáskezelési eszközünkkel. Győződjön meg arról, hogy a választott eszköz:

  • Támogatja a verziókövetési rendszert.
  • Több környezetben is üzembe helyezhető, hogy tesztelhessük és ellenőrizhessük a munkánkat.
  • Megkönnyíti az üzembe helyezési feladatok meghatározását.
  • Könnyű kiterjeszteni.

Mara: Az Azure DevOps számos más folyamatos integrációs (CI) és CD-megoldással integrálható. Sok megoldás létezik, és egyikbe sem fektetünk be. Ha így lenne, érdemes lenne ezt használni. A népszerű CI- és CD-rendszerek közé tartozik a Jenkins, a Circle CI, a GitLab, a Travis CI és az Azure Pipelines.

Ezek az eszközök hasonlóságokkal rendelkeznek, de mindegyiknek különleges erősségei is vannak. Néhány ilyen eszköz nyílt forráskód, néhány ingyenes, és néhányért fizetnie kell. Emellett beépített integrációt is biztosítanak más szoftvereszközökkel.

Jenkins például nyílt forráskód. Számos beépülő modulja van, és sok vállalat használja. A Circle CI a felhőben vagy a helyszínen is futtatható. Azt hiszem, testre kell szabnunk. A GitLab egyetlen alkalmazás a teljes szoftverfejlesztési életciklushoz. Lehet, hogy nagyobb, mint szeretnénk. Továbbra is használhatjuk az Azure Pipelinest.

Íme egy rövid videó, amelyben Abel a DevOps ajánlott eljárásainak használatával ismerteti a kód Azure-ban való üzembe helyezését.

Mara: Az én szavazatom az, hogy maradjak az Azure Pipelinesban.

Andy: Egyetértek. Az Azure Pipelines eddig nagyszerűen működött számunkra, és nem kell új technológiát tanulnunk.

Mara: Nagy. Lássunk hozzá a folyamat részleteihez.

Andy és Mara egy konferenciaterembe költöznek, hogy megtervezzék a CD-folyamatukat.