Cvičení – odkaz na balíček z aplikace
V této jednotce získáte nový kód Tailspin.SpaceGame.Web, který má odebrané třídy modelu. Místo přímého odkazování na modely na ně bude kód odkazovat z balíčku, který jste vytvořili v předchozí lekci.
Tady je seznam kroků:
- Získejte nový kód z větve původního úložiště Tailspin.SpaceGame.Web.
- Odkaz na nový balíček Models verze 1.0.0.
- Pokud chcete tento balíček vyhledat v informačním kanálu Azure Artifacts, změňte kanál buildu.
- Sledujte, jak sestavovací proces úspěšně vytvoří aplikaci.
Načtení větve z GitHubu
Získejte větev models-package
z GitHubu a přepněte na ni.
Tato větev obsahuje projekt Space Game, se kterým jste pracovali v předchozích modulech, ale adresář Models byl odebrán.
Přepněte na svou kopii aplikace Visual Studio Code, která zobrazuje projekt Tailspin.SpaceGame.Web.
Pokud chcete z terminálu načíst větev s názvem
models-package
z úložiště Microsoftu, spusťte následující příkazygit
. Pak přepněte do této větve.git fetch upstream models-package git checkout -B models-package upstream/models-package
Formát těchto příkazů umožňuje získat počáteční kód z úložiště Microsoftu na GitHubu, označovaného jako
upstream
. Za chvíli tuto větev nahrajete do úložiště GitHub, označenou jakoorigin
.Jako volitelný krok ověřte, že v Průzkumníku souborů již neexistuje adresář Models. Místo toho byste měli mít kontrolery, zobrazenía další adresáře.
Odkazování na balíček Models
Otevřete soubor Tailspin.SpaceGame.Web.csproj a přidejte následující
ItemGroup
:<ItemGroup> <PackageReference Include="Tailspin.SpaceGame.Web.Models" Version="1.0.0" /> </ItemGroup>
Nezapomeňte umístit
ItemGroup
doProject
uzlu. Soubor by měl vypadat přibližně takto:<Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup> <TargetFramework>net6.0</TargetFramework> <ProjectGuid>{A0C4E31E-AC75-4F39-9F59-0AA19D9B8F46}</ProjectGuid> </PropertyGroup> <ItemGroup> <PackageReference Include="Tailspin.SpaceGame.Web.Models" Version="1.0.0" /> </ItemGroup> <ItemGroup> <Folder Include="wwwroot\images\avatars\" /> </ItemGroup> </Project>
Upravte verzi 1.0.0 tak, aby zahrnovala předponu předběžné verze vygenerovanou během procesu sestavení. Tady je příklad:
<PackageReference Include="Tailspin.SpaceGame.Web.Models" Version="1.0.0-CI-20200610-165738" />
Odkazuje na balíček Tailspin.SpaceGame.Web.Models, který jste vytvořili v Azure Artifacts. Všimněte si čísla verze 1.0.0 a přípony předběžné verze. Odpovídá počáteční verzi, kterou jste publikovali v Azure Artifacts v předchozí lekci.
Uložte soubor.
Poznámka
Při ukládání souboru vás Visual Studio Code může požádat o obnovení závislostí. Výběrem tlačítka Obnovit obnovte závislosti.
Úprava konfigurace kanálu
Větev models-package
poskytuje počáteční soubor azure-pipelines.yml. Tady upravíte konfiguraci kanálu tak, aby načítá Tailspin.SpaceGame.Web.Models balíček z Azure Artifacts.
V editoru Visual Studio Code otevřete azure-pipelines.yml.
Upravte azure-pipelines.yml, jak je znázorněno tady:
trigger: - '*' pool: vmImage: 'ubuntu-20.04' demands: - npm variables: buildConfiguration: 'Release' wwwrootDir: 'Tailspin.SpaceGame.Web/wwwroot' dotnetSdkVersion: '6.x' steps: - task: UseDotNet@2 displayName: 'Use .NET SDK $(dotnetSdkVersion)' inputs: version: '$(dotnetSdkVersion)' - task: NuGetToolInstaller@0 inputs: versionSpec: '5.9.1' - task: Npm@1 displayName: 'Run npm install' inputs: verbose: false - script: './node_modules/.bin/node-sass $(wwwrootDir) --output $(wwwrootDir)' displayName: 'Compile Sass assets' - task: gulp@1 displayName: 'Run gulp tasks' - script: 'echo "$(Build.DefinitionName), $(Build.BuildId), $(Build.BuildNumber)" > buildinfo.txt' displayName: 'Write build info' workingDirectory: $(wwwrootDir) - task: NuGetCommand@2 displayName: 'Restore project dependencies' inputs: command: 'restore' restoreSolution: '**/*.sln' feedsToUse: 'select' vstsFeed: '$(System.TeamProject)/Tailspin.SpaceGame.Web.Models' - task: DotNetCoreCLI@2 displayName: 'Build the project - $(buildConfiguration)' inputs: command: 'build' arguments: '--no-restore --configuration $(buildConfiguration)' projects: '**/*.csproj' - task: DotNetCoreCLI@2 displayName: 'Publish the project - $(buildConfiguration)' inputs: command: 'publish' projects: '**/*.csproj' publishWebProjects: false arguments: '--no-build --configuration $(buildConfiguration) --output $(Build.ArtifactStagingDirectory)/$(buildConfiguration)' zipAfterPublish: true - task: PublishBuildArtifacts@1 displayName: 'Publish Artifact: drop' condition: succeeded()
Zvýrazněný kód ukazuje, kde potrubí obnovuje závislosti a hledá ve vašem informačním kanálu Azure Artifacts závislosti, které se tam mohou nacházet.
Připravte, potvrďte a nasdílejte změny do GitHubu.
git add . git commit -m "Add reference to Models package" git push origin models-package
Přejděte do Azure Pipelines a sledujte průběh sestavení. Sestavení převezme balíček Models z Azure Artifacts a úspěšně sestaví projekt.