Co je Azure Pipelines?

Dokončeno

Microsoft Azure Pipelines je cloudová služba, kterou můžete použít k automatickému sestavování, testování a nasazování projektu kódu. Můžete ho také zpřístupnit ostatním uživatelům a funguje s libovolným jazykem nebo typem projektu.

Mara se těší na replikaci týmového procesu sestavení v Azure Pipelines. Amita, tester, konečně má nějaký volný čas a chce dohnat. Mara se rozhodne, že teď je skvělá doba, aby jí řekla o svém plánu: nastavení automatizovaného kanálu buildu pro web Space Game pomocí Azure Pipelines.

Když slyší Plán Mara, Amita je trochu hesitant, ale protože Mara plán je replikovat proces sestavení, ale ne nahradit ho, je také zvědavá. Ví, že proces sestavení potřebuje zlepšit.

Amita: Zní to jako zajímavé cvičení, ale musíte ukázat devOps bod!

Mara: Už mě znáte tak dobře!

Amita: Jaká vylepšení očekáváte, že uvidíte, zejména proto, že uděláme to, co už děláme?

Mara: Myslím, že přechod na Azure Pipelines přinese mnoho výhod. Připomínám, že Azure Pipelines je cloudová služba. Můžeme ji využít k automatickému sestavování a testování kódu. Bude také dostupná ostatním. Funguje s téměř jakýmkoli typem jazyka nebo projektu.

Náš buildový server má problémy a dokonce i udržování aktuálního stavu je obtížné. Vzhledem k tomu, že Azure Pipelines poskytuje servery sestavení, které microsoft hostuje a udržuje, vždy má nejnovější opravy a aktualizace zabezpečení. O údržbu buildovacích serverů bychom se nemuseli starat.

Máme také hodně různých druhů skriptů napsaných různými lidmi. U některých ani nechápeme, jak fungují. Azure Pipelines obsahuje katalog úloh. Úloha je zabalený skript nebo procedura, která byla abstrahována se sadou vstupů. Pokusím se namapovat, co naše skripty sestavení dělají s těmito úlohami. Můžeme alespoň standardizovat postupy a zvýšit úroveň automatizace.

Azure Pipelines funguje s mnoha různými jazyky a typy aplikací. Jestli se chceme v těchto směrech rozvíjet, nemusíme měnit nástroje.

Amita: Vím, že je to sobecké, ale proč mi záleží? Jedním z mých hlavních problémů je, že nikdy nevím, kdy je sestavení připravené na testování. Někdy si někdo pamatuje, že tabulku aktualizuje, ale často na ni zapomene. Zdá se, že jsem poslední kdo se to dozví.

Mara: Správně, to je něco, co můžeme snadno opravit. Kanál můžeme nastavit tak, aby vás automaticky upozorňovat prostřednictvím e-mailu nebo jiného oznámení, až bude sestavení připravené. Nikdy nebudete muset čekat, až vám někdo znovu připomíná.

Amita: Dobře, takže vaším cílem právě teď je sestavit aplikaci a dát mi vědět, kdy je připravená?

Mara: Dobře! Samozřejmě mám další plány. Vím, že se vám celý tento první krok bude líbit, takže chci na tom stavět, abychom nám dali skutečnou kontinuální integraci.

Amita: Dejte mi pětiminutový přehled o kontinuální integraci.

Mara: Nech mě nakreslit fotku.

Mara se přesune na tabuli a nakreslí kanál.

Snímek obrazovky s ručně nakreslenou ilustrací kanálu CI Fáze sestavení, testování a ověření fungují s kódem. Artefakt sestavení je výstup.

Mara: Tohle je můj kanál CI. CI je proces automatizace sestavování a testování kódu pokaždé, když člen týmu potvrdí změny ve správě verzí. Vím, že ještě neprodáváme automatizované testování, ale dejte jí čas.

Kanál definuje proces kontinuální integrace pro aplikaci. Skládá se z kroků nazývaných úkoly . Můžete si to představit jako skript, který definuje, jak se spouští kroky sestavení, testování a nasazení. Pokusím se namapovat naše skripty na úkoly.

Kanál se spustí při odesílání změn kódu . Kanál můžete nakonfigurovat tak, aby se spouštěl automaticky, nebo ho můžete spustit ručně. Kanál připojíte ke zdrojovému úložišti, jako je GitHub, Bitbucket nebo Subversion. Jedním z našich úkolů pro tento sprint je začít používat GitHub, takže pro tento projekt použijeme GitHub.

Agent sestavení sestaví nebo nasadí kód. Po spuštění sestavení nebo nasazení spustí systém jednu nebo více úloh. Agent je instalovatelný software, který najednou spouští jednu úlohu sestavení nebo nasazení. Protože používáme Azure Pipelines, můžeme využít agenta hostovaného Microsoftem. S agenty hostovanými Microsoftem se o údržbu a upgrady postaráme za nás. Pokaždé, když spustíme kanál, získáme nový virtuální počítač. Existuje několik imagí virtuálních počítačů, ze kterých si můžete vybrat, včetně Ubuntu 22.04, což je to, co používáme.

Konečným produktem kanálu je artefakt sestavení . Artefakt si můžete představit jako nejmenší kompilovanou jednotku, kterou potřebujeme otestovat nebo nasadit. Artefakt je například:

  • Aplikace Java nebo .NET zabalená do souboru .jar nebo .zip .
  • Knihovna jazyka C++ nebo JavaScript.
  • Virtuální počítač, cloud nebo image Dockeru

A to je vše. Vím, že to můžeme udělat.

Amita: Zní to skvěle. Bude dobré vědět, co všechno musíš udělat, aby to fungovalo, a kolik ti to zabere času. Můžeš nám všem připravit ukázku.

Mara: Udělá to!

Správa agentů sestavení

Teď, když jste vy a tým obeznámeni se službou Azure Pipelines, si trochu povíme o agentech sestavení. Agent sestavení je část instalovatelného softwaru, který současně spouští jednu úlohu sestavení nebo nasazení. K sestavení kódu nebo nasazení softwaru potřebujete aspoň jednoho agenta. Když přidáte další kód a lidi, budete nakonec potřebovat více než jednoho agenta. Existují dvě hlavní kategorie agentů.

  • Agenti hostovaní Microsoftem jsou agenti , které spravuje Microsoft, takže se o údržbu a upgrady postaráme za vás. Pokaždé, když spustíte kanál, získáte nového agenta pro každou úlohu v kanálu. Když v tomto modulu zvolíte místní vývojové prostředí s použitím agenta hostovaného Microsoftem, spouštíte kanál na agentovi hostovaného Microsoftem. Pokud chcete spouštět kanály na agentu hostovaného Microsoftem, musí mít vaše organizace alespoň jednu paralelní úlohu hostované Microsoftem. Zkontrolujte počet paralelních úloh hostovaných Microsoftem a ujistěte se, že máte aspoň jednu paralelní úlohu hostované Microsoftem. Pokud je počet paralelních úloh hostovaných Microsoftem nulový (nové organizace Azure DevOps obvykle mají nulové paralelní úlohy), můžete požádat o bezplatné udělení. Schvalovací proces bezplatného grantu obvykle trvá dva až tři pracovní dny.

  • Agenti v místním prostředí jsou agenti , které spravujete. Virtuální počítače nebo kontejnery nakonfigurujete tak, že nainstalujete software agenta a požadované nástroje a zaregistrujete agenty v Azure DevOps. Když v tomto modulu zvolíte vývojové prostředí GitHub Codespaces pomocí agenta v místním prostředí, používáte agenta v místním prostředí spuštěném v kontejneru GitHub Codespaces. Samoobslužné hostování agenta v kontejneru GitHub Codespaces není typickým produkčním scénářem, ale poskytuje prostředí pro dokončení tohoto trénovacího modulu.

Kontrola znalostí

1.

Která z následujících položek je příkladem artefaktu buildu?