Cvičení – vytvořte pipeline pro váš balíček
Tady získáte nový týmový kód pro projekt Tailspin.SpaceGame.Web.Models, který je nyní oddělený od projektu Tailspin.SpaceGame.Web. Vytvoříte projekt Azure Pipelines pro projekt Models a uvidíte artefakt v Azure Artifacts s číslem verze 1.0.0 ve vašem feedu.
Jaké změny byly v projektu provedeny?
Vzpomeňte si, že web Space Game je aplikace ASP.NET Core. ModelView-Controller (MVC) používá k oddělení dat od způsobu zobrazení dat v uživatelském rozhraní. Andy a Mara chtějí přesunout třídy modelu do samostatné knihovny, aby tyto třídy mohly používat více projektů.
K tomu vytvoří nový projekt C# s názvem Tailspin.SpaceGame.Web.Models, který obsahuje pouze třídy modelu. Současně odeberou třídy modelu ze svého existujícího projektu Tailspin.SpaceGame.Web. Třídy modelu ve svém stávajícím projektu nahradí odkazem na projekt Tailspin.SpaceGame.Web.Models.
Pokud chcete tyto projekty sestavit, Andy a Mara používají dva kanály, jeden pro každý projekt. Už máte první projekt a jeho přidruženou konfiguraci Azure Pipelines. Zde rozvětvíte druhý projekt na GitHubu a vytvoříte konfiguraci Azure Pipelines, která ho sestaví. Výsledný balíček publikujete do Azure Artifacts.
Příprava editoru Visual Studio Code
Dříve jste nastavili Visual Studio Code pro práci s projektem Tailspin.SpaceGame.Web. Tady otevřete druhou instanci editoru Visual Studio Code, abyste mohli pracovat s projektem Tailspin.SpaceGame.Web.Models.
Otevřete druhou instanci editoru Visual Studio Code.
V editoru Visual Studio Code otevřete integrovaný terminál.
Přejděte do nadřazeného adresáře, kde je umístěn váš projekt mslearn-tailspin-spacegame-web. Tady je příklad, který se přesune do domovského adresáře:
cd ~
Získání zdrojového kódu
Získejte zdrojový kód pro projekt Tailspin.SpaceGame.Web.Models z GitHubu a nastavte Visual Studio Code, abyste mohli pracovat se soubory.
Vytvoření forku
Prvním krokem je vytvoření forku mslearn-tailspin-spacegame-web-models úložiště, abyste mohli pracovat se zdrojovými soubory a upravovat je. Vzpomeňte si, že Mara umístila adresář Models do nového projektu a odebrala ho z webového projektu.
Vytvořte fork mslearn-tailspin-spacegame-web-models projektu do svého účtu na GitHubu:
- Ve webovém prohlížeči přejděte na GitHubu a přihlaste se.
- Přejděte na projekt mslearn-tailspin-spacegame-web-models.
- Vyberte forku.
- Pokud chcete vytvořit fork úložiště do svého účtu, postupujte podle pokynů.
Naklonujte fork místně
Pro klonování mslearn-tailspin-spacegame-web-models projektů do vašeho počítače:
Na GitHubu přejděte na fork projektu mslearn-tailspin-spacegame-web-models.
Vyberte kód. Potom na kartě HTTPS vyberte tlačítko vedle zobrazené adresy URL a zkopírujte adresu URL do schránky.
V editoru Visual Studio Code přejděte do okna terminálu a spusťte tento příkaz
git clone
. Nahraďte aktuálně zobrazenou adresu URL obsahem vaší schránky.git clone https://github.com/your-name/mslearn-tailspin-spacegame-web-models.git
Přejděte do adresáře mslearn-tailspin-spacegame-web-models. Toto je kořenový adresář vašeho úložiště.
cd mslearn-tailspin-spacegame-web-models
Otevřete projekt a prozkoumejte konfiguraci.
V editoru Visual Studio Code okno terminálu odkazuje na kořenový adresář mslearn-tailspin-spacegame-web-models projektu. Otevřete projekt z Průzkumníka souborů, abyste mohli zobrazit jeho strukturu a pracovat se soubory.
Nejjednodušším způsobem, jak otevřít projekt, je znovu otevřít Visual Studio Code v aktuálním adresáři. Provedete to spuštěním následujícího příkazu z integrovaného terminálu:
code -r .
V Průzkumníku souborů se zobrazí adresář a strom souborů.
Znovu otevřete integrovaný terminál. Terminál vás umístí do kořenového adresáře webového projektu.
Otevřete soubor azure-pipelines.yml.
Zobrazí se kroky, ve kterých se balíček sestaví, nastaví se verze a balíček se přidá do Azure Artifacts.
Úkol
DotNetCoreCLI@2
sestaví tento projekt:- task: DotNetCoreCLI@2 displayName: 'Build the project - $(buildConfiguration)' inputs: command: 'build' arguments: '--no-restore --configuration $(buildConfiguration)' projects: '**/*.csproj'
Tento
DotNetCoreCLI@2
úkol zabalí projekt s verzí 1.0.0:- task: DotNetCoreCLI@2 displayName: 'Pack the project - $(buildConfiguration)' inputs: command: 'pack' projects: '**/*.csproj' arguments: '--no-build --configuration $(buildConfiguration)' versioningScheme: byPrereleaseNumber majorVersion: '1' minorVersion: '0' patchVersion: '0'
Při vývoji balíčku je běžné používat schéma správy verzí
byPrereleaseNumber
. Tím se na konec čísla verze připojí jedinečná předběžná přípona, například -CI-20190621-042647. V následujícím příkladu by celé číslo verze bylo 1.0.0-CI-20190621-042647.Tato úloha
NuGetCommand@2
odešle balíček do vašeho informačního kanálu Tailspin.SpaceGame.Web.Models Azure Artifacts.- task: NuGetCommand@2 displayName: 'Publish NuGet package' inputs: command: push feedPublish: '$(System.TeamProject)/Tailspin.SpaceGame.Web.Models' allowPackageConflicts: true condition: succeeded()
feedPublish
určuje název informačního kanálu, do který se má publikovat. Formát názvu je<projectName>/<feedName>
, kde:-
$(System.TeamProject)
je předdefinovaná proměnná, která odkazuje na název projektu; Například "Space Game - web - Dependencies". -
Tailspin.SpaceGame.Web.Models
je název informačního kanálu, který jste zadali v předchozím cvičení.
-
Nastavení oprávnění
Než budete moct nastavit a spustit svou pipeline, musíte službě Build udělit správná oprávnění.
- Přejděte ke svému projektu v Azure DevOps.
- V nabídce vlevo vyberte Artefakty.
- V pravém horním rohu obrazovky vyberte ikonu Nastavení a pak vyberte kartu Oprávnění.
- Vyberte tlačítko Přidat uživatele nebo skupiny.
- Do pole Uživatelé/skupiny zadejte Space Game - web - Dependencies Build Service, klikněte na roli Přispěvatel a klikněte na Uložit.
Vytvoření kanálu v Azure Pipelines
Dozvěděli jste se, jak nastavit Azure Pipelines v dřívějším modulu. Pokud potřebujete obnovení znalostí, přejděte na Vytvoření kanálu buildu pomocí služby Azure Pipelines.
Tady je postup, jak nastavit druhý kanál pro sestavení balíčku a nahrát ho do Azure Artifacts.
V Azure DevOps přejděte na projekt Space Game – web – Závislosti.
V nabídce vlevo vyberte Pipelines.
Vyberte Nový kanál.
Na kartě Připojit vyberte GitHub.
Z karty Vyberte vyberte mslearn-tailspin-spacegame-web-models.
Pokud se zobrazí výzva, zadejte svoje přihlašovací údaje GitHubu. Na zobrazené stránce se posuňte do dolní části a vyberte Schválit a nainstalovat.
Na kartě Revize se zobrazí soubor azure-pipelines.yml nového kanálu.
Vyberte Spustit.
Sledujte běh potrubí.
Přejděte na kartu Artefakty.
V rozevíracím seznamu v horní části vyberte Tailspin.SpaceGame.Web.Models.
Ve službě Azure Artifacts se zobrazí výsledný balíček Tailspin.SpaceGame.Web.Models.
Výběrem balíčku přejděte na stránku podrobností. Potom zkopírujte číslo verze do umístění, kde k němu budete mít později snadný přístup.
Toto číslo verze použijete v další lekci.