Cvičení – vytvoření kanálu pro balíček
Tady získáte nový kód týmu pro projekt Tailspin.SpaceGame.Web.Models , který je teď 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 informačním kanálu.
Jaké změny byly provedeny do projektu?
Vzpomeňte si, že web Space Game je aplikace ASP.NET Core. Model-View-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 modelové třídy do samostatné knihovny, aby je mohlo používat více projektů.
K tomu vytvoří nový projekt C# s názvem Tailspin.SpaceGame.Web.Models , který obsahuje pouze třídy modelu. Zároveň modelové třídy odebrali z existujícího projektu Tailspin.SpaceGame.Web. Modelové třídy v existujícím projektu nahradili odkazem na projekt Tailspin.SpaceGame.Web.Models.
K sestavení těchto projektů používají Andy a Mara dva kanály, pro každý projekt jeden. Vy už máte první projekt a jeho přidruženou konfiguraci Azure Pipelines. Tady vytvoříte fork druhého projektu na GitHubu a vytvoříte konfiguraci Azure Pipelines, která ji sestaví. Výsledný balíček publikujete do Azure Artifacts.
Příprava 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, ze kterého se nachází 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 projektu Tailspin.SpaceGame.Web.Models z GitHubu a nastavte Visual Studio Code, abyste mohli pracovat se soubory.
Vytvoření forku
Prvním krokem je vytvořit fork úložiště mslearn-tailspin-spacegame-web-models, abyste mohli pracovat se zdrojovými soubory a upravovat je. Připomínáme, že Mara umístila adresář Models do nového projektu a odebrala ho z webového projektu.
Vytvoření forku projektu mslearn-tailspin-spacegame-web-models na váš účet GitHub:
- Ve webovém prohlížeči přejděte na GitHub a přihlaste se.
- Přejděte do projektu mslearn-tailspin-spacegame-web-models .
- Vyberte Fork.
- Pokud chcete vytvořit fork úložiště do svého účtu, postupujte podle pokynů.
Místní klonování forku
Naklonování projektů mslearn-tailspin-spacegame-web-models 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 adresy URL, která se zobrazí, a zkopírujte adresu URL do schránky.
V editoru Visual Studio Code přejděte do okna terminálu a spusťte tento
git clone
příkaz. Nahraďte zobrazenou adresu URL obsahem 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ření projektu a kontrola konfigurace
V editoru Visual Studio Code okno terminálu odkazuje na kořenový adresář projektu mslearn-tailspin-spacegame-web-models . 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íkovi souborů se zobrazí stromová struktura adresářů a 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.
Uvidíte kroky, kde podle kterých se sestaví balíček, nastaví verze a přidá balíček do Azure Artifacts.
Tato úloha
DotNetCoreCLI@2
sestaví projekt:- task: DotNetCoreCLI@2 displayName: 'Build the project - $(buildConfiguration)' inputs: command: 'build' arguments: '--no-restore --configuration $(buildConfiguration)' projects: '**/*.csproj'
Tato úloha
DotNetCoreCLI@2
vytvoří balíček projektu 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žití schématu vytváření verzí
byPrereleaseNumber
. Tím se na konec čísla verze připojí jedinečná předběžná přípona, například -CI-20190621-042647. Podle tohoto příkladu je pak celé číslo verze 1.0.0-CI-20190621-042647.Tato úloha
NuGetCommand@2
nasdílí balíček do projektu Tailspin.SpaceGame.Web.Models informačního kanálu 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 kanál, musíte službě sestavení udělit správná oprávnění.
- Přejděte ke svému projektu v Azure DevOps.
- V nabídce vlevo vyberte Artefakty .
- Vyberte ikonu Nastavení v pravém horním rohu obrazovky 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, vyberte roli Přispěvatel a vyberte Uložit.
Vytvoření kanálu v Azure Pipelines
V předchozím modulu jste se naučili, jak nastavit Azure Pipelines. Pokud potřebujete aktualizační nástroj, přejděte k vytvoření kanálu buildu pomocí 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 do projektu Space Game – web – Závislosti .
V nabídce vlevo vyberte Kanály.
Vyberte Nový kanál.
Na kartě Connect (Připojit) vyberte GitHub.
Na kartě Vybrat vyberte mslearn-tailspin-spacegame-web-models.
Pokud se zobrazí výzva, zadejte svoje přihlašovací údaje GitHubu. Na stránce, která se zobrazí, se posuňte dolů a vyberte Schválit a nainstalovat.
Na kartě Review (Revize) se zobrazí soubor nového kanálu azure-pipelines.yml.
Vyberte Spustit.
Sledujte průběh spuštění kanálu.
Přejděte na kartu Artefakty .
V rozevíracím seznamu nahoře vyberte Tailspin.SpaceGame.Web.Models.
Zobrazí se výsledný balíček Tailspin.SpaceGame.Web.Models v Azure Artifacts.
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.