Navigáció kihagyása

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 teljes cikk

A feladat: Nyílt forráskódú közreműködői együttműködés egyszerűsítése

A .NET Foundation a nyílt fejlesztés és együttműködés révén az innováció elősegítésére létrehozott független szervezetként számos nyílt forráskódú projektet támogat, többek között a .NET Core-t is. A Microsoft .NET mérnöki szolgáltatások csapata hozzájárul a projekthez, és a világ minden tájáról származó közreműködők együttműködését lehetővé tévő infrastruktúra nagy részének működéséért felelős.

Mivel a GitHubon több tucat különböző Git-tárházat, eszközök széles választékát és számos különböző folyamatos integrációs (CI) rendszert használnak a projektben, nagy zűrzavar volt, ami megakadályozta a hatékonyságot. A projekt puszta mérete tovább fokozta a bonyodalmat. Például a Roslyn (C# fordítóprogram) adattára egyedül több mint 600 000 automatizált tesztet futtat egy lekéréses kérelem egyetlen iterációja esetében. Hetente több mint 50 lekéréses kérelem esetén, ahol mindegyik több iterációval rendelkezik, akkor több milliárd CI-tesztet kell elvégezni . A CoreFx (kódtárak) esetében még nagyobb számokról beszélünk. Ahogy a .NET mérnöki szolgáltatások csapata a .NET Core 3.0-s kiadását tervezi, úgy döntöttek, hogy jelentős módosításokat végeznek a nagyobb konzisztencia érdekében, és lehetővé teszik a közreműködők számára a projektben rejlő lehetőségek teljes kihasználását.

"A distributed repo structure and tooling makes it a lot harder for developers to move from one repo to another … And if it's this hard on Microsoft developers, how can we expect most individual contributors to figure it out?"

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 különböző részei között, a .NET mérnöki szolgáltatások csapata az összes adattárat egy közös könyvtárszerkezetbe, parancskészletbe, valamint buildelési és tesztelési logikába helyezte. A csapat megszüntette a hatékonyságot akadályozó tényezőket, mert az összes meglévő munkafolyamatot a különböző CI-rendszerekből egyetlen rendszerbe helyezték át, az Azure Pipelines rendszerben. Mivel a rendszer teljes mértékben felügyelt, már nem kell a CI-kiszolgáló infrastruktúrájának felügyeletével foglalkozniuk. A csapat most kódként gyakorolja a konfigurációt a GitHubon tárolt YAML-fájlokon keresztül, és a YAML-folyamatokat már mindenhol használják. Míg egyes adattárak korábban a CI-t szerializálva végezték, és a fejlesztőknek néha két-három órát kellett várniuk a kód iterációi között, mostantól a gyorsabb iterációk érdekében az összes CI-folyamat párhuzamosítva lett.

"Now that we longer need to worry about the operational aspects of CI, we're free to focus on further improvements that will be felt by all—including Microsoft developers and individual contributors alike."

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.

Alaposabban is megismerheti a munkacsoportok tevékenységét és döntéshozatalát.

A teljes cikk