Co je průběžné doručování?

Dokončeno

V této části budete sledovat tým Společnosti Tailspin, který probírá, jak jim kanál průběžného doručování (CD) může pomoct s nadcházející verzí.

Tým Tailspin se začíná cítit lépe o svém procesu sestavení. Mají automatizovaný proces spuštěný v Azure Pipelines, což znamená, že prostředí sestavení je stabilní. Amita okamžitě ví, kdy potřebuje otestovat artefakt. Najde méně chyb, protože Andy a Mara začali přidávat testy jednotek a testy kvality kódu. Život vypadá dobře. Pojďme se podívat za týmem.

Ranní schůzka

Tým je v zasedací místnosti čekající na Irwina, produktového manažera, který s nimi chce mluvit. Těšíme se, že mu poví o svém pokroku. Ale když Irwin chodí, nevypadá šťastně. Hned začne mluvit.

Irwin: Dnes ráno jsem měl schůzku s řídícím týmem. Chtějí vědět, proč trváme tak dlouho, abychom uvolnili naše hry a weby. Naši nejbližší konkurenti získají nové funkce a nové hry tam mnohem rychleji, než děláme. Musíme to urychlit. Nezapomněl jsem jen na tebe. Upozorňovala jsem všechny týmy. Co můžeme udělat, abychom vašemu týmu pomohli rychleji nasadit?

Andy: Tohle je trochu náhlé, ale my jsme před tebou. Automatizovali jsme, jak vytváříme naše weby. Možná je teď čas rozšířit naši automatizaci na proces vydávání.

Irwin: Jak byste to udělali?

Mara: Vytvořili jsme automatizovaný kanál buildu pomocí Azure Pipelines. Vytvoří artefakt, který může Amita testovat. Mohli bychom také vytvořit kanál průběžného doručování (CD).

Irwin: Co je kanál CD?

Mara začne vysvětlovat, ale přeruší se, když Irwinův mobil pípne. Irwin přečte textovou zprávu a zamlátí pod dechem.

Irwine, promiň, ale tohle je naléhavé. Musím jít. Proč všichni nezjišťujete tuto firmu CD a brzy se ke mně vrátíte?

Andy se dívá kolem svého týmu.

Andy: Káva?

Andy a zbytek týmu zamíří do kavárny a vytvoří plán.

Co je průběžné doručování?

Tým se setká přes kávu a zjistí, jak nastavit pracovní postup průběžného doručování.

Andy: Mara, můžete nám říct, co víte o průběžném doručování?

Mara: Pro mě jsou CD a DevOps nespravitelné. Mějte na paměti, že DevOps jsme definovali jako sjednocení lidí, procesů a produktů, abychom koncovým uživatelům umožnili průběžné doručování hodnot.

CD je sada procesů, nástrojů a technik, které umožňují rychlé, spolehlivé a průběžné doručování softwaru. Cd tedy není jenom o nastavení kanálu, i když je tato část důležitá. Cd se týká nastavení pracovního prostředí, kde:

  • Máme spolehlivý a opakovatelný proces pro vydávání a nasazování softwaru.
  • Co nejvíce automatizujeme.
  • Neuložíme něco, co je obtížné nebo bolestné; místo toho to děláme častěji, abychom zjistili, jak to udělat rutinní.
  • Všechno uchováváme ve správě zdrojového kódu.
  • Všichni souhlasíme s tím, že to znamenáuvolněno.
  • Do procesu zabudujeme kvalitu. Kvalita není nikdy po všem.
  • Všichni zodpovídáme za proces vydávání verzí. Už nepracujeme v sila.
  • Vždy se snažíme zlepšit.

Mnoho těchto nápadů jsme už zavedli a všichni souhlasíme s tím, že jsme vylepšili, jak pracujeme. CD je rozšíření toho, co jsme už začali.

Proč potřebuji průběžné doručování?

CD pomáhá softwarovým týmům poskytovat zákazníkům spolehlivé aktualizace softwaru v rychlém tempu. CD také pomáhá zajistit, aby zákazníci i účastníci měli rychle nejnovější funkce a opravy.

Pojďme pokračovat v naslouchání týmu, jak to promlouvají.

Andy: Díky, Mara. Potřebujeme CD, protože jak všichni víme, svět se změnil. Nové funkce se vydávají rychleji. Aktualizace a opravy chyb musí být hned k dispozici. Není to jen naše správa, která chce urychlit naše vydání. Správa jednoduše reaguje na požadavky našich zákazníků. Pokud zákazníci od nás nemůžou získat to, co chtějí, půjdou jinam.

Tim: Souhlasil! Nemůžu se dočkat, až začnem.

Andy: Díky, všichni. Navrhuji, aby Mara a já sestavili jednoduchý důkaz konceptu (POC). Myslím, že všechno bude mnohem jednodušší pochopit, pokud uvidíte kanál CD v akci.

Amita: Hodně štěstí, ty dva.

Tým opustí Andyho a Maru, aby si mohli projít podrobnosti.

Jak se průběžné doručování porovnává s publikováním po kliknutí pravým tlačítkem?

Mnoho vývojových nástrojů poskytuje způsoby, jak publikovat aplikaci přímo do cílového prostředí, jako je Microsoft Internetová informační služba (IIS) nebo Azure. Pomocí sady Visual Studio můžete například publikovat aplikaci ASP.NET Core do Azure. Tento proces se někdy označuje jako publikování po kliknutí pravým tlačítkem myši.

Publikování po kliknutí pravým tlačítkem je skvělý způsob, jak rychle vytvořit prototyp. Můžete například kliknout pravým tlačítkem myši na publikování aplikace do Azure, abyste mohli sdílet nový nápad se svým týmem. Tato technika má ale omezení.

Průběžné doručování poskytuje konzistentní způsob, jak vy i váš tým průběžně testovat, nasazovat a monitorovat aplikaci při každém vrácení kódu se změnami. Když kliknete pravým tlačítkem myši na publikování aplikace, neexistuje žádná záruka, že byl kód správně otestován, nebo se bude chovat podle očekávání při skutečném využití.

V tomto krátkém videu vysvětluje Abel Wang, poradce pro cloud v Microsoftu, více.

Jak se průběžné doručování porovnává s průběžným nasazováním?

V komunitě DevOps můžete slyšet termíny průběžného doručování a průběžného nasazování. Znamenají tyto termíny totéž? V tomto krátkém videu Abel vysvětluje rozdíl.

Jaké nástroje průběžného doručování můžu použít?

Po skončení schůzky Andy a Mara naplánují další kroky. K sestavení softwaru používají Azure Pipelines. Chtějí zvážit, jaké nástroje, včetně Azure Pipelines, jsou k dispozici, aby jim pomohly s procesem vydávání verzí.

Mara: Kde chcete začít?

Andy: Nejprve musíme souhlasit s naším nástrojem pro správu verzí. Pojďme se ujistit, že nástroj, který zvolíme:

  • Podporuje náš systém správy verzí.
  • Může se nasadit do více prostředí, abychom mohli naši práci otestovat a ověřit.
  • Usnadňuje definování úloh nasazení.
  • Je snadné rozšířit.

Mara: Azure DevOps se integruje s několika dalšími řešeními kontinuální integrace (CI) a CD. Mnoho řešení je tam venku a my do žádného z nich ne investujeme. Kdybysme byli, bylo by vhodné ho použít. Mezi oblíbené systémy CI a CD patří Jenkins, Circle CI, GitLab, Travis CI a Azure Pipelines.

Tyto nástroje mají podobnosti, ale každý z nich má také určité silné stránky. Některé z těchto nástrojů jsou open source, některé jsou zdarma a některé za ně musíte platit. Poskytují také integrované integrace s dalšími softwarovými nástroji.

Jenkins je například open source. Má mnoho modulů plug-in a mnoho společností ho používá. Kruh CI můžete spustit v cloudu nebo v místním prostředí. Myslím, že bychom to museli přizpůsobit. GitLab je jedna aplikace pro celý životní cyklus vývoje softwaru. Možná to bude větší, než teď chceme. Můžeme dál používat Azure Pipelines.

Tady je krátké video, ve kterém Abel hovoří o používání osvědčených postupů DevOps k nasazení kódu do Azure.

Mara: Mým hlasem je zůstat se službou Azure Pipelines.

Andy: Souhlasím. Služba Azure Pipelines pro nás zatím fungovala skvěle a nemusíme se učit další novou technologii.

Mara: Skvělá. Pojďme začít s podrobnostmi kanálu.

Andy a Mara se přesunou do konferenční místnosti a naplánují si kanál CD.