Rekommendationer för kontinuerlig integrering
Gäller för den här Power Platform rekommendationen för checklistan Well-Architected Operational Excellence:
OE:04 | Optimera programvaruutvecklings- och kvalitetssäkringsprocesser genom att följa branschbeprövade metoder för utveckling och testning. För tydlig rollbeteckning standardiserar du praxis för komponenter som verktyg, källkontroll, programdesignmönster, dokumentation och formatguider. |
---|
Införandet av kontinuerlig integrering/kontinuerlig leverans (CI/CD) kan öka utvecklingskomplexiteten för medborgarutvecklare. En skalbar och automatiserad utvecklingsprocess som snabbt kan införliva nya funktioner och felkorrigeringar är emellertid mycket viktig för en tillförlitlig utvecklingsprocess.
Som utvecklare kan du göra små kodändringar, flytta ändringarna till en koddatabas och få nästan omedelbar feedback på kvaliteten, testdisponering och introducerade programfel. Denna process låter dig arbeta snabbare och med mer självförtroende och mindre risk. Kontinuerlig integrering är en metod där källkontrollsystem och distributionspipelines integreras för att tillhandahålla automatiserade mekanismer för bygge, testning och feedback för programvaruutvecklingsteam.
Viktiga designstrategier
Kontinuerlig integrering är en metod för programvaruutveckling som utvecklare använder för att integrera programuppdateringar i ett källkontrollsystem vid en regelbunden kadens.
Den kontinuerliga integreringsprocessen startar när en tekniker skapar GitHub pull-begäran för att signalera till CI-systemet att kodändringar är redo att integreras. Integrationsprocessen verifierar koden mot flera baslinjer och tester. Därefter får den som begär support feedback på statusen för dessa tester.
Om baslinjekontroller och tester går bra, producerar och stegar integrationsprocessen tillgångar som distribuerar den uppdaterade programvaran. Tillgångar omfattar kompilerade kod- och behållarbilder.
Kontinuerlig integrering kan hjälpa dig att leverera programvara med hög kvalitet snabbare genom att utföra följande åtgärder:
- Kör automatiserade tester mot koden om du vill identifiera ändringar tidigt.
- Kör kodanalyser för att säkerställa kodstandarder, kvalitet och konfiguration.
- Kör regelefterlevnads- och säkerhetskontroller för att säkerställa att programmet inte innehåller några kända säkerhetsproblem.
- Kör acceptans- eller funktionstester för att säkerställa att programmet fungerar som förväntat.
- Ge snabb feedback på identifierade problem.
- I tillämpliga fall tar du fram distribuerade tillgångar eller paket som innehåller den uppdaterade koden.
Miljöer
Miljöinställning och konfiguration är avgörande för hållbar och pålitlig CI/CD. Power Platform-miljöer kan konfigureras för att isolera olika stadier i lösningsutveckling, testning och distribution. CI/CD-processen flyttar ändringar genom dessa stadier. Skapa en miljöstrategi med principer som är viktiga för utvecklarmiljöer.
Kontinuerliga integreringspipelines
För kontinuerlig integrering kan du använda verktyg för att hantera, integrera och automatisera processen. En kontinuerlig integrationspipeline ger:
- En plattform för att köra automatiserade tester
- Skanningar av efterlevnad
- Rapportering
- Alla andra komponenter som utgör den kontinuerliga integreringsprocessen
I de flesta fall är pipelineprogramvaran kopplad till källkontrollen så att pipelinen för kontinuerlig integrering körs när pull-begäranden skapas eller programvara sammanfogas till en specifik gren. Integrering av källkontroll ger också möjlighet att ge CI-feedback direkt på pull-begäran.
Många lösningar, som Azure Pipelines eller GitHub Actions tillhandahåller funktioner för kontinuerliga integrationspipelines. Läs mer i Skapa CI/CD med Azure för Microsoft Power Platform.
Integration av källkontroll
Integreringen av din kontinuerliga integrationspipeline med ditt källkontrollsystem är nyckeln till att möjliggöra snabba självbetjäningskodbidrag.
CI-pipelinen körs på en nyskapad pull-begäran. Pipelinen innehåller alla tester, säkerhetskontroller och andra kontroller. CI-testresultat visas direkt i pull-begäran för att möjliggöra nästan realtidsfeedback om kvalitet.
En annan populär praxis är att skapa små rapporter eller brickor som kan presenteras i källkontrollen för att göra de aktuella byggstatusarna synliga
Följande bild visar integreringen mellan GitHub och en Azure DevOps pipeline. I det här exemplet utlöser skapandet av en pull-begäran pipelinen. Pipelinestatusen visas i pull-begäran.
Testintegration
Ett viktigt element i den kontinuerliga integreringen är att kontinuerligt skapa och testa kod allt eftersom utvecklare bidrar med kod. Om du testar pull-begäranden när de skapas får du omedelbar feedback om att incheckningen inte införde icke-bakåtkompatibla ändringar. Fördelen är att testerna i den kontinuerliga integreringspipelinen kan vara samma tester som körs under testdrivna utvecklingar.
Kvalitetskontroller av anpassad kod
När du tar med anpassad kod i dina lösningar lägger du till kodkvalitetskontroller i en valideringspipeline för att se till att ren anpassad kod checkas in för källkontroll. Oavsett vilket kodspråk och syntaxmönster du använder finns det flera sätt att bibehålla kodkvaliteten och öka säkerhet och styrning.
Testen misslyckades
Misslyckade tester bör tillfälligt blockera en distribution och leda till en djupare analys av vad som har hänt. Misslyckade tester bör också leda till en förfining av testerna eller till en förbättring av den ändring som orsakade att testerna misslyckades.
Underlätta Power Platform
Pipelines syftar Power Platform till att demokratisera hantering av programmets livscykel (ALM) för Power Platform och Dynamics 365-kunder genom att införa ALM-automatisering och CI/CD-funktioner (kontinuerlig integrering och kontinuerlig leverans) i tjänsten.
Microsoft Power Platform Byggverktyg för kan användas för Azure DevOps att automatisera vanliga bygg- och distributionsuppgifter relaterade till appar som bygger på Power Platform.
GitHub Actions för att göra det möjligt för utvecklare att skapa automatiserade arbetsflöden för Power Platform programvaruutvecklingens livscykel. Med GitHub-åtgärder för Microsoft Power Platform, kan du skapa arbetsflöden i ditt arkiv för att bygga, testa, paketera, släppa och distribuera program; utföra automatisering; och hantera bots och andra komponenter som bygger på Microsoft Power Platform.
ALM Accelerator är ett verktyg med öppen källkod som består av en uppsättning applikationer, skript och pipelines som är utformade för att automatisera processen för kontinuerlig integrering/kontinuerlig leverans.
Automatisera tester med Azure Pipelines.
Power Apps checker Web API tillhandahåller en mekanism för att köra statiska analyskontroller mot anpassningar och tillägg till Microsoft Dataverse plattformen.
Microsoft Power Platform CLI (PAC CLI) är ett kommandoradsverktyg som stöder import och export av Power Platform lösningar samt packning till och uppackning från Power Platform lösningarnas källfiler. PAC CLI är tillgängligt som ett fristående kommandoradsverktyg eller som ett tillägg för Visual Studio Code.
Relaterad information
- Hantering av programmets livscykel (ALM) med Microsoft Power Platform
- Skapa CI/CD med Azure för Microsoft Power Platform
- Power Platform Miljöer
- Upprättande av en miljöstrategi
- Styrning av gemensam utveckling
- Använd scenarier för att implementera felfri ALM med Microsoft Power Apps
- Automatisera tester med Azure Pipelines