Oefening: een wijziging via de pipeline pushen
In deze les oefent u de volledige codewerkstroom door een kleine wijziging naar de Space Game-website naar GitHub te pushen.
Mara heeft de taak gekregen om tekst te wijzigen op de startpagina van de website , Index.cshtml. In deze les volgt u de stappen.
Laten we kort de stappen bekijken die u moet volgen om de taak te voltooien:
- Synchroniseer uw lokale opslagplaats met de meest recente
mainvertakking op GitHub. - Maak een branch om je wijzigingen bij te houden.
- Breng de codewijzigingen aan die u nodig hebt en verifieer ze lokaal.
- Push je branch naar GitHub.
- Voeg recente wijzigingen uit de
main-vertakking op GitHub samen in uw lokale werkbranch en controleer of uw wijzigingen nog steeds werken. - Push eventuele resterende wijzigingen omhoog, kijk toe hoe Azure Pipelines de applicatie bouwt en dien uw pull request in.
De meest recente hoofdbranch ophalen
In de vorige les hebt u een pull-aanvraag gemaakt en uw code-workflow vertakking samengevoegd in de main vertakking op GitHub. Nu moet u de wijzigingen aan main weer ophalen in uw lokale vertakking.
Met de opdracht git pull downloadt u de meest recente code van de externe opslagplaats en voegt u deze samen in uw lokale opslagplaats. Op deze manier weet u dat u met de meest recente codebasis werkt.
Voer in uw terminal uit
git checkout mainom over te schakelen naar demainvertakking:git checkout mainVoer deze
git pullopdracht uit om de meest recente wijzigingen op te halen:git pull origin mainU kunt de lijst met gewijzigde bestanden bekijken. Als optionele stap kunt u het azure-pipelines.yml-bestand openen om te controleren of het de volledige buildconfiguratie bevat.
Denk eraan dat een Git-opslagplaats waar teamleden samenwerken (zoals op GitHub) een externe locatie wordt genoemd. Hier geeft origin uw opslagplaats op GitHub aan.
Later haalt u starterscode op uit de Microsoft GitHub-opslagplaats, ook wel upstream genoemd.
De webtoepassing bouwen en uitvoeren
Om ervoor te zorgen dat u een werkende kopie hebt om uw wijzigingen te starten, bouwt en voert u de webtoepassing lokaal uit.
Ga in Visual Studio Code naar het terminalvenster en voer de volgende
dotnet buildopdracht uit om de toepassing te bouwen:dotnet build --configuration ReleaseVoer de volgende
dotnet runopdracht uit om de toepassing uit te voeren:dotnet run --configuration Release --no-build --project Tailspin.SpaceGame.WebAanbeveling
Als er een fout wordt weergegeven in uw browser die is gerelateerd aan een privacy- of certificaatfout, selecteert u Ctrl+C in uw terminal om de actieve toepassing te stoppen.
Voer vervolgens Ja uit
dotnet dev-certs https --trusten selecteer Ja wanneer u hierom wordt gevraagd of zie dit blogbericht voor meer informatie.Nadat uw computer uw lokale SSL-certificaat vertrouwt, voert u de
dotnet runopdracht een tweede keer uit en gaat u naarhttp://localhost:5000een nieuw browsertabblad om de actieve toepassing te zien.
Controleer of de toepassing wordt uitgevoerd
In de ontwikkelmodus is de Space Game-website geconfigureerd voor uitvoering op poort 5000.
Navigeer in een nieuw browsertabblad naar http://localhost:5000 de actieve toepassing.
U ziet dit als volgt:
U kunt communiceren met de pagina, inclusief het leaderboard. Wanneer u de naam van een speler selecteert, ziet u details over die speler.
Wanneer u klaar bent, gaat u terug naar het terminalvenster en selecteert u Ctrl+C om de actieve toepassing te stoppen.
Een functievertakking maken
In deze sectie maakt u een Git-vertakking, zodat u aan bestanden kunt werken zonder dat dit van invloed is op anderen. Niemand weet zelfs dat u aan deze bestanden werkt, totdat u ze naar de externe opslagplaats pusht.
Als u een vertakking wilt maken, gebruikt u de git checkout opdracht en geeft u uw vertakking een naam, net zoals in het vorige gedeelte.
Wanneer u een vertakking maakt, is het een goed idee om een naamconventie te volgen. Bijvoorbeeld, als uw vertakking is bedoeld voor een nieuwe functie, zou u feature/<branch-name> kunnen gebruiken. Voor de oplossing van een probleem zou u bugfix/<bug-number> kunnen gebruiken. In dit voorbeeld is feature/home-page-textde naam van uw vertakking.
Voer in de terminal de volgende git checkout opdracht uit:
git checkout -B feature/home-page-text
Net als voorheen is het feature/home-page-text gebaseerd op de main vertakking.
Wijzigingen aanbrengen en deze lokaal testen
Open in Visual Studio Code Index.cshtml in de map Tailspin.SpaceGame.Web/Views/Home.
Zoek naar deze tekst boven aan de pagina:
<p>An example site for learning</p>Aanbeveling
Visual Studio Code biedt ook een eenvoudige manier om tekst in bestanden te zoeken. Als u het zoekvenster wilt openen, selecteert u het vergrootglaspictogram in het zijvenster.
Vervang de tekst in de vorige stap door de volgende 'verkeerd getypte' tekst en sla het bestand op:
<p>Welcome to the oficial Space Game site!</p>Houd er rekening mee dat het woord 'oficial' opzettelijk verkeerd is getypt. Deze fout wordt verderop in deze module opgelost.
Voer in uw terminal de volgende
dotnet buildopdracht uit om de toepassing te bouwen:dotnet build --configuration ReleaseVoer de volgende
dotnet runopdracht uit om de toepassing uit te voeren:dotnet run --configuration Release --no-build --project Tailspin.SpaceGame.WebGa op een nieuw browsertabblad naar
http://localhost:5000de actieve toepassing.U kunt zien dat de startpagina de bijgewerkte tekst bevat.
Wanneer u klaar bent, gaat u terug naar het terminalvenster en drukt u op Ctrl+C om de actieve toepassing te stoppen.
Uw vertakking doorvoeren en pushen
Hier gaat u uw wijzigingen in Index.cshtml faseren, de wijziging doorvoeren in uw vertakking en uw vertakking naar GitHub pushen.
Voer
git statusdeze opdracht uit om te controleren of er niet-doorgevoerde wijzigingen in uw vertakking zijn:git statusU ziet dat Index.cshtml is gewijzigd. Net als voorheen is de volgende stap ervoor te zorgen dat Git dit bestand bijhoudt. Dit wordt staging van het bestand genoemd.
Voer de volgende
git addopdracht uit om Index.cshtml te faseeren:git add Tailspin.SpaceGame.Web/Views/Home/Index.cshtmlVoer de volgende
git commitopdracht uit om het gefaseerde bestand door te voeren naar defeature/home-page-textvertakking:git commit -m "Improve the text at the top of the home page"Voer deze
git pushopdracht uit om defeature/home-page-textvertakking naar uw opslagplaats op GitHub te pushen of uploaden:git push origin feature/home-page-textNet als voorheen kunt u uw vertakking vinden op GitHub vanuit de vervolgkeuzelijst vertakking.
Bekijken hoe de toepassing wordt gemaakt in Azure Pipelines
Net zoals eerder, wordt de build door Azure Pipelines automatisch in de wachtrij geplaatst wanneer u wijzigingen naar GitHub pusht.
Als optionele stap kunt u de build traceren terwijl deze door de pijplijn loopt en controleren of de build slaagt.
Eventuele wijzigingen synchroniseren met de hoofdbranch
Terwijl u bezig was met het werken aan uw functie, zijn er mogelijk wijzigingen aangebracht in de externe main vertakking. Voordat u een pull-aanvraag maakt, is het gebruikelijk om de nieuwste versie van de externe main vertakking op te halen.
Om dit te doen, moet je eerst de main branch uitchecken of ernaartoe overschakelen. Voeg vervolgens de externe main-tak samen met uw lokale main-tak.
Controleer vervolgens je feature-branch en voeg deze daarna samen met de main vertakking.
We gaan het proces eens proberen.
Voer in de terminal deze
git checkoutopdracht uit om demainvertakking te bekijken:git checkout mainAls u de meest recente wijzigingen in de externe
mainvertakking wilt downloaden en deze wijzigingen wilt samenvoegen in uw lokalemainvertakking, voert u dezegit pullopdracht uit:git pull origin mainOmdat niemand daadwerkelijk wijzigingen heeft aangebracht in uw
mainvertakking, geeft de volgende opdracht aan dat alles al up-to-date is.From https://github.com/username/mslearn-tailspin-spacegame-web * branch main -> FETCH_HEAD Already up to date.Als u uw functiebranch wilt uitchecken, voert u het volgende uit
git checkout:git checkout feature/home-page-textVoeg uw functiebranch samen met
main:git merge mainNogmaals, omdat niemand daadwerkelijk wijzigingen heeft aangebracht in uw
mainvertakking, ziet u dat alles nog steeds up-to-date is.Already up to date.Als u wijzigingen hebt opgenomen, wilt u de toepassing opnieuw testen om ervoor te zorgen dat alles nog steeds werkt.
De lokale branch opnieuw pushen
Wanneer u wijzigingen vanuit de externe opslagplaats in uw lokale functievertakking opneemt, moet u de lokale vertakking nog een keer naar de externe opslagplaats pushen.
Hoewel u geen wijzigingen vanuit de externe opslagplaats hebt opgenomen, gaan we het proces oefenen om te kijken wat er gebeurt.
Voer deze
git pushopdracht uit om uw wijzigingen naar GitHub te pushen:git push origin feature/home-page-textNogmaals, het antwoord geeft aan dat u al up-to-date bent omdat er geen wijzigingen zijn aangebracht.
Everything up-to-date
Een pull-aanvraag indienen
In deze sectie verzendt u net als eerder een pull-aanvraag.
Meld u in een browser aan bij GitHub.
Ga naar je mslearn-tailspin-spacegame-web repository.
Selecteer uw
feature/home-page-textvertakking in de vervolgkeuzelijst.Als u uw pull-aanvraag wilt starten, selecteert u Bijdragen en opent u vervolgens een pull-aanvraag.
Zorg ervoor dat in de vervolgkeuzelijst basis de opslagplaats wordt opgegeven en niet de Microsoft-opslagplaats.
Belangrijk
Deze stap is ook belangrijk omdat u uw wijzigingen niet kunt samenvoegen in de Microsoft-opslagplaats.
Wanneer u rechtstreeks met uw eigen opslagplaats werkt en niet met een fork, wordt uw
main-vertakking standaard geselecteerd.Voer een titel en een beschrijving in voor uw pull-aanvraag.
- Titel: De tekst boven aan de startpagina verbeteren
- Beschrijving: De meest recente startpaginatekst van het productteam ontvangen.
Selecteer Pull-aanvraag maken om uw pull-aanvraag te voltooien.
Met deze stap wordt er nog geen code samengevoegd. Hiermee wordt aan anderen aangegeven dat u wijzigingen hebt die u wilt samenvoegen.
Het venster pull-aanvraag wordt weergegeven. Net als voorheen activeert een pull-aanvraag Azure Pipelines om uw toepassing standaard te bouwen.
Selecteer eventueel de koppeling Details of ga naar uw project in Azure DevOps en bekijk de pijplijnuitvoering.
Wanneer de build is voltooid, gaat u terug naar uw pull-aanvraag op GitHub.
Selecteer Merge pull request, en selecteer dan Bevestigen samenvoegen.
Selecteer te verwijderen uit GitHub.