Trace Id is missing
Gå til hovedinnhold

.NET-infrastrukturteamet investerer i enhetlighet for å få fart på innovasjon med åpen kildekode

Se hvordan delte verktøy og et enkelt, delt KI-system for alle GitHub-repositoriene gir store gevinster i utviklerproduktivitet.

Utfordringen: Effektivisere samarbeidet for bidragsytere til åpen kildekode

.NET Foundation er en uavhengig organisasjon som ble startet for å fremme innovasjon gjennom åpen utvikling og samarbeid. Den støtter et stort og komplekst sett prosjekter med åpen kildekode, deriblant .NET Core. Microsoft .NET Engineering Services-teamet bidrar til prosjektet og har ansvar for mye av infrastrukturen som gjør at bidragsytere fra hele verden kan samarbeide.

Med flere titalls ulike git-repositorier på GitHub, et bredt spekter av verktøy og flere forskjellige KI-systemer i bruk i prosjektet, var det mye forvirring som hemmet produktiviteten. Prosjektets enorme skala gjorde ikke saken enklere. For eksempel kjører repositoriet Roslyn (C #-kompilator) mer enn 600 000 automatiserte tester for én gjentakelse av en pull-forespørsel. Med mer enn 50 pull-forespørsler per uke, hver med flere gjentakelser, blir det utført flere milliarder KI-tester. For CoreFx (biblioteker) er tallene enda høyere. Da .NET Engineering Services-teamet planla utgivelsen av .NET Core 3.0, bestemte de seg for å gjøre store endringer for å etablere større enhetlighet og gjøre det mulig for bidragsytere å realisere hele potensialet i prosjektet.

Personer som snakker sammen

Utfordringen: Tilpasse seg til en skydriftsmodell

"En distribuert repositoriumstruktur og verktøy gjør det mye vanskeligere for utviklere å flytte fra ett repositorium til et annet, og hvis det er så vanskelig for Microsoft-utviklere, hvordan kan vi forvente at de fleste individuelle bidragsytere finner ut av det?"

Matt Mitchell, Principal Software Engineer, .NET Engineering Services

Økt produktivitet gjennom delte verktøy og ett enkelt KI-system

For å gjøre det lettere for utviklerne å bevege seg mellom forskjellige deler av programvarestakken jobbet .NET Engineering Services-teamet med å samle alle repositoriene under en felles katalogstruktur, et felles sett med kommandoer og en felles bygg-og-test-logikk. Teamet kvittet seg med ytterligere hindringer for produktiviteten ved å flytte alle eksisterende arbeidsflyter fra de forskjellige KI-systemene til ett system i Azure Pipelines. Ettersom systemet er totaladministrert, behøver de ikke lenger administrere KI-serverinfrastrukturen. Teamet praktiserer nå konfigurasjon som kode gjennom YAML-filer som er lagret i GitHub, og YAML-datasamlebånd brukes overalt. Mens noen repositorier tidligere hadde gjort KI serielt, noe som krever at utviklere noen ganger må vente to eller tre timer mellom gjentakelse på koden, er alle KI-datasamlebåndene nå parallelle for å muliggjøre raskere gjentakelser.

Utfordringen: Tilpasse seg til en skydriftsmodell

"Nå som vi ikke lenger trenger å bekymre oss for de operasjonelle aspektene ved KI, kan vi fokusere på ytterligere forbedringer som vil merkes av alle, inkludert både Microsoft-utviklere og individuelle bidragsytere."

Matt Mitchell, Principal Software Engineer, .NET Engineering Services

Bedre samarbeid gir et bedre produkt

I dag kan utviklere lettere gå fra et repositorium til et annet, spore opp årsaken til en feil og foreslå og teste en løsning – alt uten å måtte ha så mye spesialkunnskap som de trengte tidligere. Dette effektiviserte åpen kildekode-samarbeidet i GitHub gjør det mulig for utviklere å innovere raskere når de jobber sammen for å skrive, teste, bygge og sende programvare av høy kvalitet. Og siden .NET Engineering Services-teamet kan gjøre infrastrukturendringer i hele stakken, kan de raskere og mer effektivt levere verktøyutbedringer som utviklere kan dra nytte av på tvers av alle repositorier.

Et kontor med personer som arbeider ved skrivebordet
Se nærmere på teamenes reise og beslutninger.
Les hele historien