A .NET infrastruktúra-munkacsoportja a konzisztencia erősítésével gyorsítja a nyílt forráskódú innovációt
Tekintse meg, hogy a GitHub adattáraiban elérhető megosztott eszközkészlet és az egyetlen, megosztott CI-rendszer miképpen növeli a fejlesztői hatékonyságot.
A feladat: Nyílt forráskódú közreműködői együttműködés egyszerűsítése
A .NET Foundation független szervezetként jött létre azzal a céllal, hogy a nyílt fejlesztés és az együttműködés révén ösztönözze az innovációt, és ennek keretében számos olyan komplex nyílt forráskódú projektet támogat, mint a .NET Core. A Microsoft .NET mérnöki szolgáltatások munkacsoportja ebben a projektben dolgozta ki azon infrastruktúra jelentős részét, amely szerte a világon lehetővé teszi a közös fejlesztői munkát.
A hatékonyságot számos zavaró tényező gátolta a GitHubon található több tucatnyi git-tárház, a széles eszközválaszték, és a projekten belül felhasznált folyamatos integrációs (CI-) rendszerek sokfélesége miatt. A projekt méretei tovább növelték a bonyolultságot. Például csupán a Roslyn (C# fordító) adattár több mint 600 000 automatizált tesztet futtat le egy lekéréses kérelem egyetlen iterációjában. Hetente több mint 50, több ismétlést futtató lekéréses kérelem esetén a CI-tesztek száma több milliárd. A CoreFX (kódtárak) esetében a számok ennél is magasabbak lehetnek. A .NET Core 3.0-s kiadásának előkészítése során a .NET műszaki szolgáltatások munkacsoportja úgy döntött, hogy nagyszabású módosításokkal erősíti a konzisztenciát, és lehetővé teszi a közreműködők számára a projektben rejlő lehetőségek teljes kiaknázását.
A feladat: Felhőbeli üzemeltetési modell bevezetése
"Az elosztott adattárszerkezet és -eszközök megnehezítik a fejlesztők számára, hogy egyik adattárról a másikra váltsanak … És ha ez a Microsoft-fejlesztők számára ilyen nehéz, hogyan várhatjuk el, hogy a legtöbb közreműködő ki tudja deríteni?"
Matt Mitchell, vezető szoftvermérnök, .NET mérnöki szolgáltatások
Az eszközmegosztás és az egyetlen CI-rendszer növeli a hatékonyságot
Annak érdekében, hogy a fejlesztők könnyebben válthassanak a szoftververem egyes részei között, a .NET mérnöki szolgáltatások munkacsoportja egyetlen címtárstruktúra, parancskészlet, valamint build- és tesztlogika alá rendezte az összes adattárat. A munkacsoport további akadályokat hárított el a hatékony munka elől, amikor a különböző CI-rendszerek összes meglévő munkafolyamatát az Azure Pipelines egyetlen rendszerébe integrálta. Mivel ez teljes mértékben felügyelt rendszer, nem kell többé működtetni a CI-kiszolgálók infrastruktúráját. A munkacsoport jelenleg a GitHubon tárolt YAML-fájlok segítségével kódként határozza meg a konfigurációt, és mindenütt a YAML-folyamatok vannak használatban. Míg korábban egyes adattárak sorosan hajtották végre a folyamatos integrációt, és a fejlesztőknek néha két-három órát kellett várniuk a kód egyes ismétlései között, az összes CI-folyamat párhuzamos futtatása ma már gyorsabb iterációkat tesz lehetővé.
A feladat: Felhőbeli üzemeltetési modell bevezetése
"Most, hogy már nem kell aggódnunk a folyamatos iteráció működési szempontjai miatt, nyugodtan összpontosíthatunk olyan további fejlesztésekre, amelyeket a Microsoft-fejlesztők és az egyéni közreműködők egyaránt érzékelni fognak."
Matt Mitchell, vezető szoftvermérnök, .NET mérnöki szolgáltatások
Jobb együttműködés, jobb termék
A fejlesztők ma már könnyebben válthatnak az adattárak között, megkereshetik a hibák okát, javasolhatnak és tesztelhetnek javításokat – jóval kevesebb speciális ismerettel, mint a múltban. Ez a GitHubon megvalósuló egyszerűsített, nyílt forráskódú együttműködés a kiváló minőségű szoftverek közös kódírása, tesztelése, fejlesztése és szállítása révén gyorsabb innovációt tesz lehetővé a fejlesztők számára. A .NET mérnöki szolgáltatások munkacsoportja az egész veremre kiterjedően módosíthatja az infrastruktúrát, ezért az általa szolgáltatott eszközfejlesztési megoldásokat a fejlesztők jóval gyorsabban és hatékonyabban használhatják az összes adattárban.