Gyakorlat – Módosítás leküldése a folyamaton keresztül

Befejeződött

Ebben a leckében a teljes kód-munkafolyamatot gyakorolhatja úgy, hogy egy kis módosítást küld a Space Game webhelyére a GitHubra.

Mara megkapta a feladatot, hogy módosítson néhány szöveget a webhely kezdőlapján, az Index.cshtml-en. Ebben a leckében követni fogja.

Tekintsük át röviden a feladat elvégzéséhez követendő lépéseket:

  • A helyi adattár szinkronizálása a GitHub legújabb main ágával
  • Ág létrehozása a módosítások tárolásához
  • Végezze el a szükséges kódmódosításokat, és ellenőrizze őket helyileg
  • Az ág leküldése a GitHubba
  • Egyesítse a GitHubon található main ág legutóbbi módosításait a helyi munkaágba, és ellenőrizze, hogy a módosítások továbbra is működnek-e
  • A fennmaradó módosítások leküldése, az Azure Pipelines létrehozása és a lekéréses kérelem elküldése

A legújabb főág beolvasása

Az előző leckében létrehozott egy lekéréses kérelmet, és egyesítette az code-workflow ágat a main GitHub ágával. Most le kell hívnia a main ág módosításait a helyi ágra.

A git pull parancs lehívja a legfrissebb kódot a távoli adattárból, és egyesíti azt a helyi adattárral. Így tudja, hogy a legújabb kódbázissal dolgozik.

  1. A terminálban futtassa git checkout main az ágra való váltáshoz main :

    git checkout main
    
  2. A legújabb módosítások lekéréséhez futtassa ezt a git pull parancsot:

    git pull origin main
    

    Megtekintheti a módosított fájlok listáját. Opcionális lépésként megnyithatja az azure-pipelines.yml fájlt annak ellenőrzéséhez, hogy tartalmazza-e a teljes buildkonfigurációt.

    Ne feledje, hogy azt a Git-adattárat, amelyhez a csapat minden tagjának hozzáférése van (például a GitHub esetében), távoli adattárnak nevezzük. Ez esetben a forrás jelöli a GitHub-adattárat.

    Később beolvassa a kezdőkódot a Microsoft GitHub-adattárból, más néven felsőbb rétegből.

A webalkalmazás létrehozása és futtatása

Ha gondoskodni szeretne arról, hogy a módosítások elindításához egy működő példánya legyen, hozza létre és futtassa a webalkalmazást helyileg.

  1. A Visual Studio Code-ban nyissa meg a terminálablakot, és futtassa a következő dotnet build parancsot az alkalmazás létrehozásához:

    dotnet build --configuration Release
    
  2. Futtassa a következő dotnet run parancsot az alkalmazás futtatásához:

    dotnet run --configuration Release --no-build --project Tailspin.SpaceGame.Web
    

    Tipp.

    Ha a böngészőben adatvédelmi vagy tanúsítványhiba miatt hibaüzenet jelenik meg, a terminálon a Ctrl+C billentyűkombinációt választva állítsa le a futó alkalmazást.

    Ezután futtassa dotnet dev-certs https --trust és válassza az Igen lehetőséget, amikor a rendszer kéri, vagy tekintse meg ezt a blogbejegyzést további információért.

    Miután a számítógép megbízik a helyi SSL-tanúsítványban, futtassa dotnet run a parancsot másodszor, és lépjen http://localhost:5000 egy új böngészőlapra a futó alkalmazás megtekintéséhez.

Ellenőrizze, hogy az alkalmazás fut-e

Fejlesztési módban a Space Game webhelye úgy van konfigurálva, hogy az 5000-s porton fusson.

Egy új böngészőlapon keresse meg http://localhost:5000 a futó alkalmazást.

A következőt kell látnia:

Screenshot of the Space Game website running in a web browser.

Használhatja az oldalt, beleértve a ranglistát is. Amikor kiválasztja egy játékos nevét, megjelenik a játékos részletei.

Ha végzett, térjen vissza a terminálablakba, és a Ctrl+C billentyűkombinációval állítsa le a futó alkalmazást.

Funkciók szerinti ágak létrehozása

Ebben a szakaszban létre fog hozni egy Git-ágat, hogy mások befolyásolása nélkül dolgozhasson a fájlokon. Senki nem fog tudni arról, hogy a fájlokon dolgozik, amíg le nem küldi azokat a távoli adattárba.

Ág létrehozásához használja a git checkout parancsot, és adjon nevet az ágnak, ahogyan az előző részben is tette.

Az ág létrehozása előtt érdemes tisztában lenni az elnevezési szabályokkal. Ha például az adott ág egy új funkció fejlesztéséhez szükséges, használhatja a következőt: feature/<branch-name>. Hibajavítás esetén használhatja a következőt: bugfix/<bug-number>. Ebben a példában az ág neve lesz feature/home-page-text.

A terminálban futtassa a következő git checkout parancsot:

git checkout -B feature/home-page-text

A korábbiakhoz hasonlóan az feature/home-page-text ágon alapul main .

A módosítások végrehajtása és helyi tesztelése

  1. A Visual Studio Code-ban nyissa meg az Index.cshtml fájlt a Tailspin.SpaceGame.Web/Views/Home könyvtárban.

  2. Keresse meg ezt a szöveget a lap tetején:

    <p>An example site for learning</p>
    

    Tipp.

    A Visual Studio Code egyszerű lehetőséget is biztosít a szöveges keresésre a fájlokban. A keresőablak eléréséhez válassza a nagyító ikont az oldalablakban.

  3. Cserélje le az előző lépés szövegét a következő "hibásan beírt" szövegre, majd mentse a fájlt:

    <p>Welcome to the oficial Space Game site!</p>
    

    Vegye figyelembe, hogy a "oficial" szó szándékosan helytelenül van begépelve. Ezt a hibát a modul későbbi részében fogjuk kezelni.

  4. A terminálban futtassa a következő dotnet build parancsot az alkalmazás létrehozásához:

    dotnet build --configuration Release
    
  5. Futtassa a következő dotnet run parancsot az alkalmazás futtatásához:

    dotnet run --configuration Release --no-build --project Tailspin.SpaceGame.Web
    
  6. Egy új böngészőlapon nyissa meg http://localhost:5000 a futó alkalmazást.

    Láthatja, hogy a kezdőlap tartalmazza a frissített szöveget.

    Screenshot of the Space Game website with updated text. The text contains a spelling error.

    Ha végzett, térjen vissza a terminálablakba, majd nyomja le a Ctrl+C billentyűkombinációt a futó alkalmazás leállításához.

Az ág véglegesítése és leküldése

Itt elvégezheti a módosításokat a Index.cshtml fájlban, véglegesítheti a módosítást az ágon, és felküldheti az ágat a GitHubba.

  1. Futtassa git status annak ellenőrzéséhez, hogy vannak-e nem véglegesített módosítások az ágon:

    git status
    

    Látni fogja, hogy az Index.cshtml módosult. A korábbiakhoz hasonlóan a következő lépés annak ellenőrzése, hogy a Git nyomon követi-e ezt a fájlt, amelyet a fájl átmeneti állapotának neveznek.

  2. Futtassa a következő git add parancsot az Index.cshtml szakaszához:

    git add Tailspin.SpaceGame.Web/Views/Home/Index.cshtml
    
  3. Futtassa a következő git commit parancsot a szakaszos fájl ághoz való véglegesítéséhez feature/home-page-text :

    git commit -m "Improve the text at the top of the home page"
    
  4. Futtassa ezt a git push parancsot az ág leküldéséhez vagy feltöltéséhez a feature/home-page-text GitHubon található adattárba:

    git push origin feature/home-page-text
    
  5. Ahogy korábban, az ág legördülő listában is megtalálhatja az ágat a GitHubon.

    Screenshot of GitHub showing the new branch.

Az Azure Pipelines létrehozza az alkalmazást

Ahogy korábban is történt, az Azure Pipelines automatikusan várólistára helyezi a buildet, ha módosításokat küld le a GitHubba.

Választható lépésként nyomon követheti a buildet a folyamat során, és ellenőrizze, hogy a build sikeres-e.

A főág módosításainak szinkronizálása

Amíg a funkcióval dolgozott, előfordulhat, hogy a távoli main ágon módosításokat hajtottak végre. Lekéréses kérelem létrehozása előtt gyakori eljárás a legújabb lekéréses kérelem lekérése a távoli main ágból.

Ehhez először vegye ki vagy váltson az main ágra, majd egyesítse a távoli main ágat a helyi main ággal.

Ezután tekintse meg a funkcióágat, majd egyesítse a funkcióágat az main ággal.

Próbaképpen vegyük végig a folyamatot.

  1. A terminálban futtassa ezt a git checkout parancsot az main ág megtekintéséhez:

    git checkout main
    
  2. Ha le szeretné tölteni a távoli main ág legújabb módosításait, és egyesíteni szeretné ezeket a módosításokat a helyi main ágban, futtassa a git pull következő parancsot:

    git pull origin main
    

    Mivel senki sem módosította az ágat main , az alábbi parancs azt jelzi, hogy minden már naprakész.

    From https://github.com/username/mslearn-tailspin-spacegame-web
     * branch            main     -> FETCH_HEAD
    Already up to date.
    
  3. A szolgáltatáság megtekintéséhez futtassa a következőt git checkout:

    git checkout feature/home-page-text
    
  4. A funkcióág egyesítése a következővel main:

    git merge main
    

    Ismét, mivel valójában senki sem módosította az ágát main , láthatja, hogy minden még mindig naprakész.

    Already up to date.
    

    Ha bármilyen módosítást végzett, érdemes újra tesztelnie az alkalmazást, hogy minden továbbra is működjön.

A helyi ág ismételt leküldése

Amikor a távoli adattárból importál módosításokat a helyi funkcióágba, másodszor is le kell küldenie a helyi ágat a távoli adattárba.

Bár ezúttal semmilyen módosítást nem importált a távoli adattárból, a gyakorlás kedvéért vegyük végig a folyamatot.

  1. Futtassa ezt a git push parancsot a módosítások GitHubra való leküldéséhez:

    git push origin feature/home-page-text
    

    A válasz ismét azt jelzi, hogy már naprakész, mivel nem történt módosítás.

    Everything up-to-date
    

Lekéréses kérelem küldése

Ebben a szakaszban ugyanúgy küld el lekéréses kérelmet, mint korábban.

  1. Egy böngészőben jelentkezzen be a GitHubra.

  2. Nyissa meg az mslearn-tailspin-spacegame-web adattárat.

  3. A legördülő listában válassza ki az ágat feature/home-page-text .

  4. A lekéréses kérelem elindításához válassza a Közreműködés , majd a Lekéréses kérelem megnyitása lehetőséget.

  5. Győződjön meg arról, hogy az alap legördülő lista az adattárat határozza meg, nem pedig a Microsoft-adattárat.

    Screenshot of GitHub confirming that the branch can be merged.

    Fontos

    Ez a lépés azért is fontos, mert nem egyesítheti a módosításokat a Microsoft-adattárban.

    Ha közvetlenül a saját adattárával dolgozik, és nem egy elágaztatással, alapértelmezés szerint a saját main ága lesz kiválasztva.

  6. Adja meg a lekéréses kérelem címét és leírását.

    • Cím: A kezdőlap tetején lévő szöveg javítása
    • Leírás: Megkapta a legújabb kezdőlap szövegét a termékcsapattól.
  7. A lekéréses kérelem befejezéséhez válassza a Lekéréses kérelem létrehozása lehetőséget.

    Ez a lépés nem egyesít semmilyen kódot. Azt jelzi másoknak, hogy vannak olyan módosítások, amelyeket egyesíteni szeretne.

    Megjelenik a lekéréses kérelem ablaka. Mint korábban, egy lekéréses kérelem aktiválja az Azure Pipelinest az alkalmazás alapértelmezés szerinti létrehozásához.

  8. Ha szeretné, válassza a Részletek hivatkozást, vagy nyissa meg a projektet az Azure DevOpsban, és figyelje a folyamat futtatását.

  9. Ha a build elkészült, térjen vissza a lekéréses kérelemhez a GitHubon.

  10. Válassza a Lekéréses kérelem egyesítése, majd az Egyesítés megerősítése lehetőséget.

  11. Az ág törléséhez válassza az Ág törlése lehetőséget a feature/home-page-text GitHubról.