Elágazás stratégiailag
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
A forráskód fontos eszköz a fejlesztési munkában. A forrásfájlok hatékony kezelése és fejlesztése azonban kihívást jelenthet, ha egyszerre több fejlesztő dolgozik a fájlfrissítéseken. A verziókövetési rendszer segítségével megosztott adattárakban tárolhatja a forráskódot, elkülönítheti a párhuzamos fejlesztési erőfeszítéseket, integrálhatja a kódmódosításokat, és visszaállíthatja a korábbi fájlverziókat. A verziókövetés egyik kulcsfontosságú eleme az elágaztatás, amely lehetővé teszi az egyidejű fejlesztést. Ha stratégiailag elágazik, fenntarthatja a szoftver több verziójának sorrendjét és konzisztenciáját.
A Team Foundation rugalmas és megbízható verziókövetési rendszert biztosít. A Team Foundation verziókövetésével több változatot is kezelhet a forráskód, a dokumentumok, a munkaelemek és a csapat által használt egyéb kritikus információk fejlesztése során.
Hogyan kezeli a csapat a kódot, miközben egyszerre több módosítást vezet be több projektkiadáson keresztül?
Ha verziókövetési rendszerrel dolgozik, meg kell fontolnia az ágstruktúra beállítását. Ágat a forráskódfájl tükrözésével hozhat létre. Ezután a forrás befolyásolása nélkül módosíthatja az ágat. Az alábbi ábrán látható ágszerkezet például azt mutatja, hogy a FŐ ág olyan befejezett funkciókat tartalmaz, amelyek sikeres integrációs teszteken mentek át, a FEJLESZTÉSI ág pedig a fejlesztés alatt álló kódot tartalmazza. Ha a FEJLESZTÉSI ág új funkciója befejeződött, és át tud adni integrációs teszteket, előléptetheti a kódot a DEVELOPMENT ágból a FŐ ágba. Ezt a folyamatot fordított integrációnak nevezzük. Ezzel szemben, ha a kódot a FŐ ágból a DEVELOPMENT ágba egyesíti, a folyamatot továbbítási integrációnak nevezzük.
A kódágak létrehozásáról és egyesítéséről a CodePlex webhelyén található alábbi oldalon talál további információt: Team Foundation Server Branching Guide 2.0.
Az elágaztatás és az egyesítés a következő alapelveket foglalja magában:
Minden ágnak rendelkeznie kell egy meghatározott szabályzattal a kód ebbe az ágba való integrálására vonatkozóan. Az előző ábra ágszerkezetében például hozzárendelhet egy csapattagot a FŐ ág tulajdonosához és kezeléséhez. Ez a tag felelős a kezdeti ágművelet végrehajtásáért, a FEJLESZTÉS ág módosításainak a FŐ ágba való visszaalakításáért, valamint a FŐ ág változásainak a FEJLESZTÉSI ágba való továbbításáért. A továbbítási integráció akkor fontos, ha a FŐ ág más ágak módosításait is integrálja.
A FŐ ágnak olyan kódot kell tartalmaznia, amely megfelelt az integrációs teszteknek, hogy mindig készen álljon a kiadásra.
A FEJLESZTÉSI (vagy munkahelyi) ág folyamatosan fejlődik, mert a csapattagok rendszeresen ellenőrzik a módosításokat.
A címkék egy ág fájljainak pillanatképei egy adott időpontban.
További információ: Címkék használata a fájlok pillanatképének készítéséhez.
A Team Foundation Build segítségével többféle típusú build közül választhat az ágakhoz: manuális, folyamatos, kapus, gördülő és ütemezett. Javasoljuk, hogy a FŐ ághoz egy kapus bejelentkezési buildtípus tartozik. Ez azt jelenti, hogy a FEJLESZTÉSI ágnak meg kell felelnie a FŐ ágra vonatkozó összes követelménynek, mielőtt véglegesítheti a fordított integrációt. A FEJLESZTŐI ágnak folyamatos buildtípust kell futtatnia, mert a csapatnak a lehető leghamarabb tudnia kell, ha egy új bejelentkezés hatással van a FEJLESZTŐI ágra.
Milyen gyakran kell a csapat integrálása és továbbítása?
Az alábbi ábrán látható módon a fordított integrációnak és a továbbítási integrációnak legalább a felhasználói történet befejezésekor kell történnie. Bár az egyes csapatok eltérően határozhatják meg a teljességet, a felhasználói történet befejezése általában azt jelenti, hogy a funkció és a megfelelő egységtesztek is befejeződnek. A FŐ ágba csak akkor integrálható, ha az egységtesztek igazolták a FEJLESZTÉSI ág stabilitását.
Ha egynél több munkaág (DEVELOPMENT) ága van, az integrációt az összes munkaágba azonnal továbbítania kell, amint bármely ág integrálódik a FŐ ágba. Mivel a MAIN ág stabil, a továbbítási integráció biztonságos. Ütközések vagy hibák fordulhatnak elő a munkaágakban, mert nem garantálható, hogy a munkaágak stabilak.
Fontos, hogy az összes ütközést a lehető leghamarabb feloldja. A FŐ ághoz tartozó kapus bejelentkezéssel sokkal egyszerűbbé teheti a fordított integrációt, mivel a minőségi kapuk segítenek elkerülni az ütközéseket vagy hibákat a MAIN ágban. További információ: Bejelentkezés egy olyan mappába, amelyet egy kapus bejelentkezési buildelési folyamat vezérel.
Hogyan kezeli a csapata a különböző felhasználói történeteket megvalósító forrásokat?
Ahogy az alábbi ábrán látható, a felhasználói szövegegységek befejezéséhez rendszeres időközönként be lehet jelentkezni a munkaág módosításaiba. Egyszerre több felhasználói történetet is implementálhat ugyanabban az ágban. A FŐ ágba való integrálást azonban csak akkor fordíthatja vissza, ha az összes folyamatban lévő munkát befejezi. Javasoljuk, hogy a felhasználói történeteket hasonló méretűre csoportosítsa, mert nem szeretné, hogy egy nagy felhasználói történet sok kisebb integrációját blokkolja. A felhasználói történetek két csoportját két ágra oszthatja.
Mikor kell a csapatnak ágat hozzáadnia?
Az alábbi helyzetekben érdemes ágakat létrehoznia:
Ha a kódot a meglévő ágaktól eltérő ütemezésben/ciklusban kell kiadnia.
Ha a kódhoz más ágházirend szükséges. Ha új ágat hoz létre, amely rendelkezik az új szabályzattal, stratégiai értéket adhat a projekthez.
Ha egy ügyfél számára kiadják a funkciókat, és a csapat olyan módosításokat tervez végrehajtani, amelyek nem befolyásolják a tervezett kiadási ciklust.
Ne hozzon létre elágaztatást minden felhasználói történethez, mert az magas integrációs költséget eredményez. Bár a TFVC megkönnyíti az elágaztatást, az ágak kezelésének többlettere jelentőssé válhat, ha sok ága van.
Hogyan kezeli a csapat a kiadásokat a verziókövetés szempontjából?
A csapatnak képesnek kell lennie a kód kiadására bármely futam végén. A Team Foundation Server használatával megjelölhet egy ágat, hogy pillanatképet készítsen a kódról egy adott időpontban. Ahogy az alábbi ábrán látható, a KIADÁS FŐ ágát címkézheti. Ez lehetővé teszi, hogy az ág ezen a ponton visszatérjen az állapotához.
Mivel frissítéseket kell implementálnia a kiadásokhoz, egy kiadáshoz tartozó ág létrehozásával a csapat önállóan dolgozhat a következő futamon anélkül, hogy ütközések léptek fel a jövőbeli kiadásokkal. Az alábbi ábra egy olyan ágat mutat be, amely egy frissítés kódját tartalmazza, és amely vissza van integrálva a MAIN ágba a második futam végén történő kiadás után.
Amikor létrehoz egy ágat egy kiadáshoz, ezt az ágat a MAIN ágból kell létrehoznia, amely a legstabilabb. Ha elágaztat egy munkaágból való kiadást, az integrációs problémákat okozhat, mivel a munkaágak stabilitása nem garantált.
Kapcsolódó cikkek
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: