Perspective

Källkontrollhantering (SCM)

SCM Migration 101

Victor Rinaldo S K,

Biträdande arkitekt,
Globala möjligheter och tekniska lösningar för teknisk automation

 

Publicerad: mars 31, 2022

SCM-migreringsöversikt

Hantera och kontrollera versioner av källkod och tillgångar är avgörande för att påskynda leveransen genom DevOps för ett företag. Det finns olika distribuerade versionskontrollplattformar, så att migrera dem är utmanande utan en ordentlig plan. Några av de vanliga aspekterna som missas under migreringarna är integrering av källkontrollhantering (SCM), dvs integration med byggverktyg, implementering av verktyg, artifactory och andra verktyg för mjukvaruutvecklingslivscykel (SDLC).

SCM-migrering handlar inte bara om att byta från ett versionskontrollsystem till ett annat. Det är en möjlighet att rätta till gamla inkonsekvenser eller utmaningar och implementera moderna och samarbetande arbetsflöden för att göra utvecklarens arbete enklare. Vi har täckt viktiga aspekter av SCM-migrering i den här bloggen för att hjälpa dig att planera din SCM-migrering sömlöst.

Migrationsförberedelser

Migreringsförberedelserna granskar den befintliga förgreningsstrategin och bedömer verktygets ekosystem och SCM-verktygsintegrationer. Innan du migrerar är det viktigt att analysera följande steg och planera om några ändringar krävs:

  • Katalogstrukturplanering och standarder: en analys av om kodkatalogomstruktureringen behövs, vilket kan hjälpa till med integrationen med byggverktygen
  • Releaseprocess: granska releaseprocessen och ha kvalitetsgrindar om det behövs
  • Rengöring av förvar och filialer: spåra, analysera och rensa oanvända förvar och filialer
  • Ta itu med befintliga SCM-utmaningar: en tidigare lösning löser den nuvarande SCM-begränsningen genom att utnyttja funktionerna i den globala informationsspåraren (GIT)
  • Välja migreringsverktyg/-skript: analysera tillgängliga migreringsverktyg som passar migreringen eller planerar att utveckla de anpassade skripten
  • Utbildning och övergång: planera scheman för att träna utvecklarna att använda GIT-plattformen

Migrationschecklista

Företag måste identifiera projekt och kategorier som de vill migrera. Dessutom, även innan ett arkiv identifieras för att migrera, måste organisationer vara säkra på följande:

  • Migrerar vi ett helt arkiv?
  • Migrerar vi tills en specifik revision?
  • Migrerar vi från en hel orörd historia?
  • Migrerar vi bara taggar och grenar?

Det är viktigt att vara tydlig med dessa specifikationer, eftersom migrering har roller och behörigheter – som också måste migreras – såsom rollbaserad åtkomstkontroll (RBAC), lätt katalogåtkomstprotokoll (LDAP) och Active Directory (AD). Slutligen måste företag etablera användare och användargrupper och SCM-integrationer för migrering.

Olika faser av SCM-migrering och nyckelaspekter som ska beaktas

Upptäck

Lager

  • Förvar
  • Infrastruktur
  • Projekt
  • Integration/ Beroenden

Utför bedömning

  • Identifiera luckor
  • Identifiera behov/lösningsområden

Planen

Skapa plan

  • Lagerverktyg och tillgångar kopplade till SCM
  • Skapa migreringsstrategi för verktygsplattform
  • Förena SCM-administratörer
  • Integrera användare i utvecklingsprocessen

Skapa processåteranvändningsplan

  • Definiera "aktiv kod"
  • Skapa mall för migreringsskript
  • Skapa mall för SCM-praxis

Upprätta samhällsplan

  • Lås migrerade arkiv
  • Aktivera sökning, upptäckt och återanvändning av SCM-tillgångar
  • Upprätta rapportering och företagsövergripande synlighet

Kodmigrering

Etablera Project Workspace

  • Verktygsintegrationer
  • Arbetsflöde
  • RBAC (Rollbaserad åtkomstkontroll)

Utbilda användare

  • Projektadministratörer
  • Gruppmedlemmar
  • Release Managers

Migrera data

  • Slutför skript
  • Migrera aktiv kod och relaterade data

Team Sign Off

  • Verifiera migrerad data
  • Analysera andra behov
  • Utveckling genom driftsättning

Hållbarhet & förbättring

Drive Community Management

  • Ny användare Onboarding
  • Nytt projekt onboarding
  • Nya bästa praxis
  • Återanvändning och samarbete
  • Mät företagsstatistik

GIT-plattformsunderhåll

  • Plattformsuppgradering
  • Verktygsuppgraderingar
  • Verktygsintegrationer

Utför bedömning

  • Identifiera luckor
  • Identifiera behov/lösningsområden

 

Bästa praxis för migration

För all migreringsaktivitet är det avgörande att följa och anta bästa praxis. Nedan är listan över bästa metoder för SCM-migrering som hjälper dig att planera din SCM-migrering med mindre smärta:

  1. Coacha användarna
    Förändring är svårt, särskilt om företag inte är benägna att det. Det kan dock göras enkelt genom att följa en ordentlig handlingsplan. De flesta GIT-plattformar tillhandahåller FAQ-sida som beskriver fördelarna med att migrera till GIT. Användarna bör dra nytta av GIT:s kompletterande utbildningsalternativ.

    Innan en utvecklare påbörjar SCM-migreringen måste en utvecklare vara tydlig med: filialrengöring och bekräftelse, migreringsdatum, support efter migrering etc. Planera och genomföra utbildningssessioner för utvecklarna för att ställa rätt förväntningar på det stöd som krävs för att SCM-migrering är av största vikt.

  2. Samordning med användarna/teamen
    Som nämnts ovan kan förändring vara utmanande att genomföra. Betecknande nog, de som överraskar människor och väcker motstånd. Även om att flytta till GIT handlar om att göra utvecklarnas liv bättre, måste de exakta behoven kommuniceras till de inblandade teamen. Tydlig och konsekvent kommunikation om migreringsprocessen, inklusive exakta datum eller fönster, kan ge alla gott om tid att anpassa sig och förbereda sig.

  3. Migrera på ett iterativt sätt
    På grund av historik, nuvarande arbetsflöde och aktuella projekt är specifika arkiv och team lättare att migrera. Därför får man inte tvinga migrationsteam att byta abrupt, särskilt när de inte är förberedda. Det är alltid bättre att lansera migreringspilotmetoden med utvalda grupper eller användare som redan är bekanta med GIT.

  4. Följ bästa praxis från GIT för att underhålla arkiv
    Frysning av källförråd (vilket innebär att förhindra att nya ändringar överförs till dessa förvar) med ett kommunicerat frysdatum kan hjälpa till att minska risken för att information faller mellan stolarna. Dessutom gör mindre förråd migreringen enklare – 1 GB eller mindre är idealiskt. Du kan använda GIT-filter-branch och BFG repo-rengöringsverktyg för att ta bort stora filer eller spåra dem med GIT-large fillagring (LFS).

  5. Testa
    Det borde inte bli några överraskningar med omfattande övningskörningar under själva migreringen. Även om vi inte kan ge några garantier, kan testning tidigt och ofta, ännu viktigare, dokumentera både användar- och administrativa processer under tester minska huvudvärk senare.

  6. Tänk på integrationerna
    Ett vanligt misstag som görs under migrering är att avstå från integrationer. Med så mycket att överföra, inklusive arkiv, team och mer, kan integrationer vara lätta att glömma även om de är viktiga komponenter som SDLC-verktyg, byggverktyg, distribuera verktyg, Artifactory, etc.

    Migreringen är ofullständig utan att de ovanstående verktygen integreras i GIT och kan till och med påverka leveransen och releasen om den inte är planerad.

    Verktygslandskapsanalys och verktygen integrerade med den nuvarande SCM som ska bedömas och planeras för migrering. Dessutom kan noggrann granskning av element som ska migreras hjälpa till att förhindra detta.

  7. Mät migreringens framgång och statistik
    En migrering slutar inte när det sista laget går med i din GIT-instans. Att säkerställa att varje team och projekt trivs med GIT sker genom fortsatta mätningar som visar var projektet är framgångsrikt och mindre så. Även om prestandaindikatorerna varierar, är här några idéer för att komma igång: 
    1. Andel migrerade anmälda team 
    2. Teamen är nöjda med migreringsprocessen 
    3. Användningsmått från GIT
    4. Genomsnittlig migreringstid i dagar
       
  8. Migrering med hjälp av importörer
    Det finns importörer/migreringsverktyg tillgängliga specifika för varje GIT-plattform som snabbt kan importera arkiven till GIT.

    Dessa importörer importerar inte bara koden utan importerar också commits och historikrevisioner. Att använda dessa verktyg kommer att hjälpa till att uppnå ren migration.

Avslutande tankar

Planering är nyckeln till en framgångsrik migrering. Avsnittet ovan täcker alla nyckelaspekter som ska beaktas, inklusive migreringsförberedelser, checklistor och bästa praxis för SCM-migrering som kan hjälpa företag att planera en riskfri SCM-migrering.

Relaterat innehåll