Övning – Skicka en ändring till ditt paket
Nu har du två pipelines. En publicerar modellpaketet till Azure Artifacts. Den andra är för Webbappen Space Game . Byggkonfigurationen för webbappen refererar till modellpaketet så att det kan komma åt modellklasserna.
Här övar du på att uppdatera Modellpaketet och tillämpa förändringen från webbappen.
Det gör du genom att börja med att lägga till en egenskap i någon av modellklasserna och sedan höja paketversionen. Skicka sedan ändringen till GitHub så att pipelinen kan skapa paketet och publicera det till Azure Artifacts.
Uppdatera sedan webbappen för att referera till det nyare versionsnumret för modellpaketet så att det kan använda den tillagda egenskapen.
Skapa en gren
Börja med att skapa en gren som innehåller ditt arbete. Skapa en gren med namnet add-game-style, som baseras på grenen main.
Nu har du två kopior av Visual Studio Code öppna, en för projektet Tailspin.SpaceGame.Web.Models och en för webbappprojektet Space Game , Tailspin.SpaceGame.Web. Arbeta från kopian för projektet Tailspin.SpaceGame.Web.Models .
Öppna den integrerade terminalen från Visual Studio Code.
Om du vill skapa en gren med namnet
add-game-stylekör du följandegit checkoutkommando i terminalen.git checkout -B add-game-style
Lägga till en egenskap i modellpaketet
Lägg till en egenskap med namnet Score till en av modellklasserna, som tillhandahåller spelstilen eller svårigheten, som poängen är associerad med.
Arbeta från kopian av Visual Studio Code för projektet Tailspin.SpaceGame.Web.Models .
Öppna Tailspin.SpaceGame.Web.Models/Models/Score.csfrån Visual Studio Code. Lägg till följande markerade egenskap i listan över egenskaper som redan finns där.
using System.Text.Json.Serialization; namespace TailSpin.SpaceGame.Web.Models { public class Score : Model { // The ID of the player profile associated with this score. [JsonPropertyName("profileId")] public string ProfileId { get; set; } // The score value. [JsonPropertyName("score")] public int HighScore { get; set; } // The game mode the score is associated with. [JsonPropertyName("gameMode")] public string GameMode { get; set; } // The game region (map) the score is associated with. [JsonPropertyName("gameRegion")] public string GameRegion { get; set; } // The game style (difficulty) the score is associated with. [JsonPropertyName("gameStyle")] public string GameStyle { get; set; } } }Not
Du gör en ändring i en fil i projektet för att visa var du ökar versionsnumret. Uppdatera dock inte webbappen så att den använder den nya egenskapen.
Spara filen.
Skapa projektet för att verifiera ditt arbete:
dotnet build --configuration ReleaseI praktiken kan du utföra fler verifieringssteg, till exempel att köra tester eller testa det nya paketet med en app som använder det.
Skapa och publicera paketet
Nu när du har lagt till den nya egenskapen i Score klassen och verifierat att projektet har skapats kan du uppdatera paketversionen. Du kan sedan skicka ändringen till GitHub så att Azure Pipelines kan skapa och publicera det uppdaterade paketet.
Öppna azure-pipelines.yml, ändra
minorVersionfrån0till1och spara filen.minorVersion: '1'Här uppdaterar du versionen från 1.0.0 till 1.1.0 för att tydliggöra ändringen. I praktiken följer du versionsschemat för den typ av paket som du arbetar med.
Till exempel, enligt semantisk versionshantering, visar höjning av delversionen till 1 (1.1.0) att paketet är bakåtkompatibelt med appar som använder version 1.0.0 av paketet. De som använder paketet kan sedan ändra sin app för att använda nya funktioner.
Populära projekt med öppen källkod tillhandahåller dokumentation i form av en ändringslogg som förklarar de ändringar som gjorts i varje version och hur du migrerar från en huvudversion till nästa.
Mellanlagra, checka in och skicka ändringarna:
git add . git commit -m "Add GameStyle property" git push origin add-game-styleFrån Microsoft Azure Pipelines går du till projektet Tailspin.SpaceGame.Web.Models och tittar på byggkörningen.
Öppna fliken Artefakter och notera den nya versionen. Var inte orolig; din gamla version finns fortfarande för alla projekt som fortfarande refererar till den.
              
              
            
Som du gjorde tidigare kan du skriva ned den nya versionen för nästa enhet.
Referera till den nya versionen av modellpaketet
Ändra nu projektet Tailspin.SpaceGame.Web så att den nya versionen av paketet Tailspin.SpaceGame.Web.Models används.
Här arbetar du från kopian av Visual Studio Code för webbappprojektet Space Game , Tailspin.SpaceGame.Web.
Från Visual Studio Code öppnar du Tailspin.SpaceGame.Web.csproj och ändrar
PackageReferencetill versionsnumret för paketet Tailspin.SpaceGame.Web.Models som du skapade i Azure Artifacts. Spara sedan filen.Här är ett exempel:
<PackageReference Include="Tailspin.SpaceGame.Web.Models" Version="1.1.0-CI-20210528-202436" />Om Visual Studio Code ber dig att återställa paket kan du ignorera meddelandet på ett säkert sätt. I korthet skapar vi inte webbappen lokalt.
Från terminalen mellanlagra, checka in och push-överföra ändringarna.
git add . git commit -m "Bump Models package to 1.1.0" git push origin models-packageFrån Azure Pipelines går du till projektet mslearn-tailspin-spacegame-web och övervakar byggprocessen.
Du ser från byggutdata att den hämtar de senaste beroendena, bygger appen och publicerar artefakten för webbappen.