Delen via


Aanbevelingen voor continue integratie

Van toepassing op deze aanbeveling voor de controlelijst voor operationele uitmuntendheid van Power Platform Well-Architected Framework​:

OE:04 Processen voor softwareontwikkeling en kwaliteitsborging optimaliseren door beproefde praktijken voor ontwikkeling en testen te volgen. Voor een heldere rolaanduiding standaardiseert u de werkwijzen voor alle onderdelen, zoals tools, broncode, toepassingsontwerppatronen, documentatie en stijlgidsen.

De invoering van continue integratie/continue levering (CI/CD) kan de ontwikkelingscomplexiteit voor burgerontwikkelaars vergroten. Een schaalbaar en geautomatiseerd ontwikkelingsproces dat snel nieuwe functies en bugcorrecties kan integreren, is echter van cruciaal belang voor een betrouwbaar, duurzaam fusie-ontwikkelingsproces.

Als ontwikkelaar kunt u kleine wijzigingen in de code aanbrengen, deze wijzigingen naar een codeopslagplaats pushen en vrijwel onmiddellijk feedback krijgen over de kwaliteit, de testdekking en geïntroduceerde bugs. Met dit proces kunt u sneller werken, met meer vertrouwen en minder risico. Continue integratie is een praktijk waarbij broncodebeheersystemen en implementatiepijplijnen worden geïntegreerd om geautomatiseerde bouw-, test- en feedbackmechanismen te bieden aan softwareontwikkelingsteams.

Belangrijke ontwerpstrategieën

Continue integratie is een softwareontwikkelingspraktijk die ontwikkelaars gebruiken om software-updates in een regelmatig ritme te integreren in een broncontrolesysteem.

Het continue integratieproces begint wanneer een ingenieur een GitHub-pull-aanvraag maakt om het CI-systeem aan te geven dat codewijzigingen klaar zijn voor integratie. Idealiter valideert het integratieproces de code aan de hand van verschillende basislijnen en tests. Vervolgens geeft het feedback aan de aanvragende technicus over de status van deze tests.

Als de basislijncontroles en tests goed verlopen, worden tijdens het integratieproces assets geproduceerd en gefaseerd die de bijgewerkte software implementeren. Deze assets omvatten gecompileerde code en containerinstallatiekopieën.

Continue integratie kan u helpen sneller software van hoge kwaliteit te leveren door de volgende acties uit te voeren:

  • Voer geautomatiseerde tests uit op de code om vroegtijdige detectie van wijzigingen die fouten veroorzaken mogelijk te maken.
  • Voer codeanalyse uit om codestandaarden, kwaliteit en configuratie te garanderen.
  • Voer nalevings- en beveiligingscontroles uit om ervoor te zorgen dat de software geen bekende kwetsbaarheden bevat.
  • Voer acceptatie- of functionele tests uit om ervoor te zorgen dat de software naar verwachting werkt.
  • Geef snel feedback over gedetecteerde problemen.
  • Produceer, indien van toepassing, implementeerbare assets of pakketten met de bijgewerkte code.

Omgevingen

De opzet en configuratie van de omgeving zijn van cruciaal belang voor een duurzame en betrouwbare CI/CD. Power Platform-omgevingen kunnen worden ingesteld om verschillende fasen van de ontwikkeling, het testen en de implementatie van oplossingen te isoleren. Het CI/CD-proces leidt wijzigingen door deze fasen. Opzetten van een omgevingsstrategie met leidende principes voor ontwikkelaarsomgevingen.

Continue integratiepijplijnen

Om continue integratie te bereiken, gebruikt u tools om het proces te beheren, integreren en automatiseren. Een continue integratiepijplijnen biedt:

  • Een platform voor het uitvoeren van geautomatiseerde tests
  • Compliance-scans
  • Rapportage
  • Alle andere componenten die deel uitmaken van het continue integratieproces

In de meeste gevallen is de pijplijnsoftware gekoppeld aan broncodebeheer. Wanneer pull-requests worden gemaakt of software wordt samengevoegd in een specifieke branch, wordt de continue integratiepijplijn uitgevoerd. Integratie van broncodebeheer biedt ook de mogelijkheid om CI-feedback rechtstreeks op pull-aanvragen te geven.

Veel oplossingen, zoals Azure Pipelines of GitHub Actions, bieden de mogelijkheden van continue integratiepijplijnen. Meer informatie vindt u in CI/CD bouwen met Azure voor Microsoft Power Platform.

Integratie van broncodebeheer

De integratie van uw continue integratiepijplijn met uw broncodebeheersysteem is essentieel om snelle, selfservice codebijdragen mogelijk te maken.

De CI-pijplijn wordt uitgevoerd op basis van een nieuw gemaakte pull-aanvraag. De pijplijn omvat alle tests, beveiligingsevaluaties en andere controles. CI-testresultaten verschijnen direct in de pull-aanvraag, waardoor vrijwel realtime feedback over de kwaliteit mogelijk is.

Een andere populaire werkwijze is het bouwen van kleine rapporten of badges die in broncodebeheer kunnen worden gepresenteerd om de huidige build-statussen zichtbaar te maken.

Op de volgende afbeelding ziet u de integratie tussen GitHub en een Azure DevOps-pijplijn. In dit voorbeeld wordt de pijplijn geactiveerd door het aanmaken van een pull-aanvraag. De pijplijnstatus verschijnt in de pull-aanvraag.

Schermopname van een Azure DevOps- statusbadge in een GitHub-opslagplaats.

Testintegratie

Een belangrijk element van continue integratie is het voortdurend bouwen en testen van code terwijl ontwikkelaars codebijdragen leveren. Het testen van pull-aanvragen terwijl ze worden gemaakt, geeft onmiddellijke feedback dat er tijdens het doorvoeren geen ingrijpende wijzigingen zijn geïntroduceerd. Het voordeel is dat de tests in de continue integratiepijplijn dezelfde tests kunnen zijn die worden uitgevoerd tijdens testgestuurde ontwikkeling.

Voorbeelddiagram van continue integratie.

Kwaliteitscontroles voor aangepaste code

Wanneer u aangepaste code in uw oplossingen opneemt, voegt u codekwaliteitscontroles toe aan een validatiepijplijn om ervoor te zorgen dat schone aangepaste code wordt vastgelegd voor broncodebeheer. Ongeacht de codeertaal en syntaxispatronen die u gebruikt, zijn er meerdere opties om de codekwaliteit te behouden en de beveiliging en governance te verbeteren.

Mislukte tests

Mislukte tests moeten een implementatie tijdelijk blokkeren en leiden tot een diepere analyse van wat er is gebeurd. Mislukte tests moeten ook leiden tot een verfijning van de tests of tot een verbetering van de wijziging die ervoor heeft gezorgd dat de tests zijn mislukt.

Power Platform-facilitering

Pijplijnen in Power Platform zijn erop gericht het beheer van de toepassingslevenscyclus (ALM) voor Power Platform en Dynamics 365-klanten te democratiseren door ALM-automatisering en mogelijkheden voor continue integratie en continue levering (CI/CD) in de service te introduceren.

Microsoft Power Platform Build Tools voor Azure DevOps kunnen worden gebruikt om veelvoorkomende build- en implementatietaken met betrekking tot apps op Power Platform te automatiseren.

Met GitHub Actions kunnen ontwikkelaars geautomatiseerde workflows voor de levenscyclus van softwareontwikkeling bouwen. Power Platform Met GitHub-acties voor Microsoft Power Platform kunt u werkstromen in uw opslagplaats maken om apps te bouwen, te testen, te verpakken, vrij te geven, te implementeren, automatisering uit te voeren en bots en andere onderdelen gebouwd op Microsoft Power Platform te beheren.

ALM Accelerator is een opensource-tool die bestaat uit een reeks toepassingen, scripts en pijplijnen die zijn ontworpen om het continue integratie-/continue leveringsproces te automatiseren.

Tests automatiseren met Azure Pipelines.

Web-API Power Apps-controle biedt een mechanisme om statische analysecontroles uit te voeren voor aanpassingen en uitbreidingen van het Microsoft Dataverse-platform.

Microsoft Power Platform CLI (PAC CLI) is een opdrachtregeltool die het importeren en exporteren van Power Platform oplossingen en het inpakken in en uitpakken uit Power Platform bronbestanden van oplossingen ondersteunt. PAC CLI is beschikbaar als een zelfstandig opdrachtregelprogramma of als een extensie voor Visual Studio Code.

Volgende stappen