Co je Azure Artifacts?

Dokončeno

V této lekci získáte stručný přehled o tom, jak můžete pomocí Azure Artifacts bezpečně vytvářet a spravovat balíčky, které můžou vaše aplikace využívat.

Pojďme se vrátit se svým týmem a rozhodnout se, jestli je azure Artifacts vhodným způsobem hostování balíčku .NET.

Mara: Zdá se mi, že by pro nás bylo vhodné hostovat nový balíček Models v Azure Artifacts. Všichni jsme už součástí organizace Microsoft Azure DevOps, takže ověřování by bylo jednodušší než jeho nastavení na jiném správci balíčků.

Andy: Podíval jsem se na to před schůzkou a zdá se mi jednoduché. Souhlasím s Marou.

Amita: Co je Azure Artifacts?

Andy: Azure Artifacts je úložiště ve vaší organizaci Azure DevOps, kde můžete spravovat závislosti pro základ kódu. Azure Artifacts umožňuje ukládat artefakty a binární soubory. Pro skupiny závislostí nabízí kontejner, kterému se říká informační kanál. Vývojáři, kteří mají přístup k informačnímu kanálu, můžou snadno využívat nebo publikovat balíčky.

Jak vytvořit balíček a použít ho v kanálu?

Tim: Takže pokud rozumím správně, kód aplikace už používá balíčky z NuGetu. Vytvoříme si náš vlastní balíček a budeme ho hostovat v Azure Artifacts. Můžete vytáhnout ty kusy a jak budou spolupracovat? Mám trochu potíže si představit celý proces.

Andy: Jistě. Projdeme si proces vytvoření balíčku a jeho použití v našem kanálu Azure DevOps.

Andy se přesune na tabuli.

Illustration of a whiteboard diagram showing the steps to create and use a package.

Vytvoření balíčku

Nejprve musíme vytvořit projekt v Azure Artifacts. Můžeme to udělat z Azure DevOps.

Potom vytvoříme kanál v Azure Pipelines, který se připojí k úložišti GitHub pro kód balíčku. Potom kanál sestaví kód, zabalí ho a nasdílí balíček do Azure Artifacts.

Potřebujeme aktualizovat aplikaci, která tento balíček využívá, abychom odkazovali na kanál Azure Artifacts, který jsme vytvořili.

Potom aktualizujeme kanál, který vytvoří naši aplikaci. Tato aktualizace nám umožňuje použít náš informační kanál Azure Artifacts k načtení nové závislosti balíčku a sestavení jako normálního stavu.

Aktualizujte balíček

Tim: Co když někdo aktualizuje balíček?

Andy: Když balíček aktualizujete novou funkcí nebo opravou chyb a spustíte testy, abyste měli jistotu, že funguje správně, nastavte číslo verze balíčku. Pak změnu potvrďte. Kanál balíčku uvidí potvrzení a vytvoří nový artefakt v Azure Artifacts s číslem nové verze. Nemějte obavy, starý balíček s nižším číslem verze je stále k dispozici pro aplikace, které závisí na této verzi. Proto obvykle nevyjádřete seznam balíčků.

Naše aplikace může chtít používat tuto novější verzi balíčku. V takovém případě aktualizujeme aplikaci tak, aby odkazovat na novější verzi a spustili testy místně, abychom měli jistotu, že tato nová verze funguje s naší aplikací. Až budeme spokojeni s tím, že všechno funguje, odešleme změnu aplikace do kanálu. Sestavuje se s novou verzí závislosti balíčku.

Amita: To zní jako dobrý plán a pomůže i dalšímu týmu. Při vkládání kódu se také zabrání posunu kódu. To je také užitečné pro testování.

Zahrnutí strategie správy verzí do kanálu buildu

Když používáte kanál buildu, balíčky potřebují verze, aby je bylo možné využívat a testovat. Až po otestovaní balíčku ale poznáte jeho kvalitu. Vzhledem k tomu, že verze balíčků by se nikdy neměly měnit, je obtížné předem zvolit určitou verzi.

Azure Artifacts přidruží ke každému balíčku v informačních kanálech úroveň kvality a rozlišuje mezi předběžnými verzemi a verzemi. Azure Artifacts nabízí různá zobrazení v seznamu balíčků a jejich verzích, které je oddělují na základě jejich úrovně kvality. Tento přístup funguje dobře se sémantickou správou verzí, což je užitečné pro predikci záměru konkrétní verze. Azure Artifacts také používá popisovač k zahrnutí dalších metadat z informačního kanálu Azure Artifacts. Běžným použitím zobrazení je sdílení verzí balíčků, které byly testovány, ověřeny nebo nasazeny, ale uchovávat balíčky stále ve vývoji a nejsou připravené k veřejné spotřebě.

Informační kanály v Azure Artifacts mají ve výchozím nastavení tři různá zobrazení. Tato zobrazení se přidají v okamžiku vytvoření nového informačního kanálu. Tři zobrazení jsou:

  • Verze: Zobrazení @release obsahuje všechny balíčky, které jsou považovány za oficiální verze.
  • Předběžné verze: Zobrazení @prerelease obsahuje všechny balíčky, které mají popisek v čísle verze.
  • Místní: Zobrazení @local obsahuje všechny balíčky vydané verze a předběžné verze a balíčky stažené z upstreamových zdrojů.

Pomocí zobrazení můžete uživatelům informačního kanálu balíčků pomoct filtrovat mezi vydanými a neregistrovanými verzemi balíčků. Zobrazení v podstatě umožňují spotřebiteli zvolit si z vydaných balíčků nebo se rozhodnout pro předběžné verze určité úrovně kvality.

Zabezpečení balíčků v Azure Artifacts

Zajištění zabezpečení balíčků je stejně důležité jako zajištění zabezpečení zbytku kódu. Jedním z aspektů zabezpečení balíčků je zabezpečení přístupu k informačním kanálům balíčků (kde se v Azure Artifacts nachází informační kanál, kde ukládáte balíčky). Nastavení oprávnění k informačnímu kanálu umožňuje sdílet balíčky s tolika nebo několika lidmi, kolik vyžaduje váš scénář.

Oprávnění informačního kanálu

Informační kanály mají čtyři úrovně přístupu: Vlastníci, Přispěvatelé, Spolupracovníci a Čtenáři. Každá úroveň přístupu má určitou sadu oprávnění. Vlastníci můžou například přidat libovolný typ identity – jednotlivce, týmy a skupiny – na libovolnou úroveň přístupu. Ve výchozím nastavení je služba sestavení kolekce projektů spolupracovníkem a váš projektový tým je čtenář.

Konfigurace kanálu pro přístup k hodnocení zabezpečení a licencí

Od třetích stran je k dispozici několik nástrojů, které vám pomůžou vyhodnotit bezpečnostní a licenční hodnocení softwarových balíčků, které používáte.

Některé z těchto nástrojů kontrolují balíčky, protože jsou součástí kanálu buildu nebo disku CD. Během procesu sestavení nástroj naskenuje balíčky a poskytne okamžitou zpětnou vazbu. Během procesu CD nástroj používá artefakty sestavení a provádí kontroly. Dva příklady takových nástrojů jsou Mend Bolt a Black Duck. Pomocí Azure DevOps použijete úlohy sestavení k začlenění skenování do kanálu.