Oefening: een pijplijn voor uw pakket maken
Hier krijgt u de nieuwe code van het team voor het Tailspin.SpaceGame.Web.Models project dat nu los staat van het project Tailspin.SpaceGame.Web. U maakt een Azure Pipelines-project voor het project Modellen en ziet het artefact in Azure Artifacts met een versienummer 1.0.0 in uw feed.
Welke wijzigingen zijn aangebracht in het project?
Zoals u weet, is de Space Game website een ASP.NET Core-app. Er wordt gebruikgemaakt van het MVC-patroon (Model-View-Controller) om gegevens te scheiden van hoe die gegevens worden weergegeven in de gebruikersinterface. Andy en Mara willen de modelklassen verplaatsen naar een afzonderlijke bibliotheek, zodat meerdere projecten deze klassen kunnen gebruiken.
Hiervoor maken ze een nieuw C#-project met de naam Tailspin.SpaceGame.Web.Models dat alleen de modelklassen bevat. Tegelijkertijd verwijderen ze de modelklassen uit hun bestaande project, Tailspin.SpaceGame.Web. Ze vervangen de modelklassen in hun bestaande project door een verwijzing naar het Tailspin.SpaceGame.Web.Models project.
Om deze projecten te bouwen, gebruiken Andy en Mara twee pijplijnen, één voor elk project. U hebt al het eerste project en de bijbehorende Azure Pipelines-configuratie. Hier maakt u een fork van het tweede project op GitHub en maakt u een Azure Pipelines-configuratie om het te bouwen. U publiceert het resulterende pakket naar Azure Artifacts.
Visual Studio Code voorbereiden
Eerder hebt u Visual Studio Code ingesteld voor gebruik met het project Tailspin.SpaceGame.Web. Hier opent u een tweede exemplaar van Visual Studio Code, zodat u kunt werken met het Tailspin.SpaceGame.Web.Models project.
Open een tweede exemplaar van Visual Studio Code.
Open vanuit Visual Studio Code de geïntegreerde terminal.
Navigeer naar de bovenliggende map vanaf waar uw mslearn-tailspin-spacegame-web project zich bevindt. Hier is een voorbeeld dat naar uw thuismap gaat:
cd ~
De broncode ophalen
Haal de broncode op voor het Tailspin.SpaceGame.Web.Models project van GitHub en stel Visual Studio Code in, zodat u met de bestanden kunt werken.
Een fork maken
De eerste stap is het splitsen van de mslearn-tailspin-spacegame-web-models opslagplaats, zodat u met de bronbestanden kunt werken en wijzigen. Onthoud dat Mara de map Models in een nieuw project heeft geplaatst en uit het webproject heeft verwijderd.
Om het mslearn-tailspin-spacegame-web-models project te forken in uw GitHub-account:
- Ga in een webbrowser naar GitHub-en meld u aan.
- Ga naar het mslearn-tailspin-spacegame-web-models project.
- Selecteer Fork-.
- Volg de instructies om de repository naar uw account te forken.
Uw fork lokaal klonen
Om de mslearn-tailspin-spacegame-web-models projecten op uw computer te klonen:
Ga op GitHub naar uw fork van het mslearn-tailspin-spacegame-web-models project.
Selecteer Code. Selecteer vervolgens op het tabblad HTTPS de knop naast de URL die wordt weergegeven om de URL naar het klembord te kopiëren.
Ga vanuit Visual Studio Code naar het terminalvenster en voer deze
git clone
opdracht uit. Vervang de URL die wordt weergegeven door de inhoud van het Klembord.git clone https://github.com/your-name/mslearn-tailspin-spacegame-web-models.git
Ga naar de map mslearn-tailspin-spacegame-web-models. Dit is de hoofdmap van uw opslagplaats.
cd mslearn-tailspin-spacegame-web-models
Open het project en bekijk de configuratie
In Visual Studio Code verwijst uw terminalvenster naar de hoofdmap van het mslearn-tailspin-spacegame-web-models project. Open het project vanuit de Verkenner, zodat u de structuur ervan kunt bekijken en met bestanden kunt werken.
De eenvoudigste manier om het project te openen, is door Visual Studio Code opnieuw te openen in de huidige map. Voer hiervoor de volgende opdracht uit vanuit de geïntegreerde terminal:
code -r .
U ziet de map en de bestandsstructuur in de verkenner.
Open de geïntegreerde terminal opnieuw. De terminal plaatst u in de hoofdmap van uw webproject.
Open het azure-pipelines.yml-bestand.
U ziet de stappen waarin het pakket is gebouwd, de versie is ingesteld en het pakket wordt toegevoegd aan Azure Artifacts.
Met deze
DotNetCoreCLI@2
-taak wordt het project gebouwd:- task: DotNetCoreCLI@2 displayName: 'Build the project - $(buildConfiguration)' inputs: command: 'build' arguments: '--no-restore --configuration $(buildConfiguration)' projects: '**/*.csproj'
Deze
DotNetCoreCLI@2
-taak verpakt het project met versie 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'
Bij het ontwikkelen van uw pakket is het gebruikelijk om het
byPrereleaseNumber
versiebeheerschema te gebruiken. Hiermee voegt u een uniek voorvoegsel voor de voorlopige versie toe, zoals '-CI-20190621-042647' aan het einde van het versienummer. In dit voorbeeld is het volledige versienummer 1.0.0-CI-20190621-042647.Met deze
NuGetCommand@2
-taak wordt het pakket naar uw Tailspin.SpaceGame.Web.Models Azure Artifacts-feed gestuurd:- task: NuGetCommand@2 displayName: 'Publish NuGet package' inputs: command: push feedPublish: '$(System.TeamProject)/Tailspin.SpaceGame.Web.Models' allowPackageConflicts: true condition: succeeded()
feedPublish
geeft de naam van de feed op waarin moet worden gepubliceerd. De indeling van de naam is<projectName>/<feedName>
, waarbij:-
$(System.TeamProject)
is een vooraf gedefinieerde variabele die verwijst naar uw projectnaam; Bijvoorbeeld 'Space Game - web - Afhankelijkheden'. -
Tailspin.SpaceGame.Web.Models
is de feednaam die u in de vorige oefening hebt opgegeven.
-
Machtigingen instellen
Voordat u de pijplijn kunt instellen en uitvoeren, moet u de Build-service de juiste machtigingen geven.
- Ga naar uw project in Azure DevOps.
- Selecteer Artefacten in het menu aan de linkerkant.
- Selecteer het pictogram Instellingen in de rechterbovenhoek van het scherm en selecteer vervolgens het tabblad Machtigingen.
- Selecteer de knop Gebruikers/groepen toevoegen.
- Voer in het veld Gebruikers/GroepenSpace Game - web - Afhankelijkheden-Buildservicein, selecteer de rol Inzender en selecteer Opslaan.
De pijplijn maken in Azure Pipelines
U hebt geleerd hoe u Azure Pipelines instelt in een eerdere module. Als u een opfriscursus nodig hebt, ga dan naar Een build-pijplijn maken met Azure Pipelines.
U kunt als volgt een tweede pijplijn instellen om het pakket te bouwen en dat pakket uploaden naar Azure Artifacts.
Ga vanuit Azure DevOps naar het Space Game - web - Afhankelijkheden project.
Selecteer in het menu aan de linkerkant Pipelines.
Selecteer Nieuwe pijplijn.
Selecteer op het tabblad ConnectGitHub.
Van het tabblad Select, selecteer mslearn-tailspin-spacegame-web-models.
Voer uw GitHub-referenties in als u hierom wordt gevraagd. Schuif vanaf de pagina die wordt weergegeven naar beneden en selecteer Goedkeuren eninstalleren.
Op het tabblad Controleren ziet u het azure-pipelines.yml-bestand van de nieuwe pijplijn.
Selecteer Voeruit.
Bekijk de pijplijnuitvoering.
Ga naar het tabblad Artefacten.
Selecteer in de vervolgkeuzelijst bovenaan Tailspin.SpaceGame.Web.Models.
U ziet het resulterende pakket, Tailspin.SpaceGame.Web.Models, in Azure Artifacts.
Selecteer het pakket om naar de detailpagina te gaan. Kopieer vervolgens het versienummer naar een locatie waar u het later gemakkelijk kunt openen.
Je gebruikt dit versienummer in de volgende les.