Del via


Anbefalinger for kontinuerlig integrasjon

Gjelder denne Power Platform anbefalingen for Well-Architected Operational Excellence-sjekklisten:

OE:04 Optimaliser prosesser for programvareutvikling og kvalitetssikring ved å følge fremgangsmåter for utvikling og testing som er anerkjente i bransjen. Du oppnår klar rollebetegnelse ved å standardisere fremgangsmåter på tvers av komponenter, for eksempel verktøy, kildekontroll, programutformingsmønstre, dokumentasjon og stilveiledninger.

Innføring av kontinuerlig integrasjon/kontinuerlig levering (CI/CD) kan øke utviklingskompleksiteten for selvlærte utviklere. En skalerbar og automatisert utviklingsprosess som raskt kan innlemme nye funksjoner og feilretting, er imidlertid avgjørende for en pålitelig, bærekraftig fusjonsutviklingsprosess.

Som utvikler kan du gjøre små kodeendringer, sende disse endringene til et koderepositorium og få nesten umiddelbar tilbakemelding om kvaliteten, testdekningen og nye feil. Denne prosessen gjør at du kan arbeide raskere og med større tillit og mindre risiko. Kontinuerlig integrasjon er en praksis der kildekontrollsystemer og distribusjonspipeliner er integrert for å gi automatiserte bygge-, test- og tilbakemeldingsmekanismer for programvareutviklingsteam.

Viktige utformingsstrategier

Kontinuerlig integrasjon er en programvareutviklingspraksis som utviklere bruker til å integrere programvareoppdateringer i et kildekontrollsystem med regelmessig hyppighet.

Prosessen med kontinuerlig integrasjon starter når en tekniker oppretter en GitHub-henteforespørsel for å signalisere til CI-systemet om at kodeendringer er klare til å integreres. Ideelt sett validerer integrasjonsprosessen koden mot flere basislinjer og tester. Den gir deretter den forespørrende teknikeren tilbakemelding om statusen for disse testene.

Hvis basislinjekontroller og -testing går bra, produserer og samler integrasjonsprosessen ressurser som distribuerer den oppdaterte programvaren. Disse ressursene omfatter kompilert kode og beholderavbildninger.

Kontinuerlig integrasjon kan hjelpe deg å levere programvare av høy kvalitet raskere ved å utføre følgende handlinger:

  • Kjør automatiske tester mot koden for å oppdage ødeleggende endringer tidlig.
  • Kjør kodeanalyse for å sikre kodestandarder, -kvalitet og -konfigurasjon.
  • Kjør samsvars- og sikkerhetskontroller for å sikre at programvaren ikke inneholder kjente sikkerhetsproblemer.
  • Kjør godkjennings- eller funksjonstester for å sikre at programvaren fungerer som forventet.
  • Gi rask tilbakemelding om oppdagede problemer.
  • Når det er aktuelt, produserer du distribuerbare ressurser eller pakker om inneholder den oppdaterte koden.

Miljøer

Miljøkonfigurasjon er avgjørende for bærekraftig og pålitelig CI/CD. Power Platform-miljøer kan konfigureres slik at de isolerer ulike faser av løsningsutvikling, testing og distribusjon. CI/CD-prosessen flytter endringer gjennom disse fasene. Opprett en miljøstrategi med veiledende prinsipper for utviklermiljøer.

Pipeliner for kontinuerlig integrasjon

Du oppnår kontinuerlig integrasjon ved å bruke verktøy til å administrere, integrere og automatisere prosessen. En pipeline for kontinuerlig integrasjon byr på følgende:

  • En plattform for å kjøre automatiserte tester
  • Samsvarsskanninger
  • Rapporterer
  • Alle andre komponenter som utgjør den kontinuerlige integrasjonsprosessen

I de fleste tilfeller er pipelineprogramvaren knyttet til kildekontrollen, slik at når pull-forespørsler opprettes eller programvare slås sammen til en bestemt gren, kjører pipelinen for kontinuerlig integrering. Integrering av kildekontroll gir også mulighet til å gi CI-tilbakemelding direkte i henteforespørsler.

Mange løsninger, for eksempel Azure Pipelines eller GitHub-handlinger, har funksjonaliteten til pipeliner for kontinuerlig integrasjon. Finn ut mer i Bygg CI/CD med Azure for Microsoft Power Platform.

Integrasjon av kildekontroll

Integreringen av pipelinen for kontinuerlig integrasjon med kildekontrollsystemet er nøkkelen til raske, selvbetjente kodebidrag.

CI-pipelinen kjører på en nyopprettet henteforespørsel. Pipelinen omfatter alle tester, sikkerhetsvurderinger og andre kontroller. CI-testresultatene vises direkte i henteforespørselen slik at det nesten blir mulig å gi tilbakemelding om kvalitet i sanntid.

En annen populær praksis er å bygge små rapporter eller merker som kan presenteres i kildekontroll for å gjøre gjeldende byggtilstander synlige.

Bildet nedenfor viser integrasjonen mellom GitHub og en Azure DevOps-pipeline. I dette eksemplet utløser opprettingen av en pull-forespørsel pipelinen. Pipelinestatusen vises i henteforespørselen.

Skjermbilde av et Azure DevOps-statusmerke i et GitHub-repositorium.

Testintegrering

Et viktig element i kontinuerlig integrasjon er den kontinuerlige byggingen og testingen av kode mens utviklere bidrar med kode. Når henteforespørsler testes etter hvert som de opprettes, får du umiddelbar tilbakemelding om at sendingen ikke førte til ødeleggende endringer. Fordelen er at testene i pipelinen for kontinuerlig integrasjon kan være de samme testene som kjører i testdrevet utvikling.

Eksempel på diagram over kontinuerlig integrasjon.

Kvalitetskontroller for egendefinert kode

Når du tar med egendefinert kode i løsningene, legger du til kvalitetskontroller for kode i en valideringspipeline for å sikre at ryddig, egendefinert kode sendes til kildekontroll. Det finnes flere alternativer for vedlikehold av kodekvalitet og økning av sikkerhet og styring, uavhengig av kodespråket og syntaksmønstrene du bruker.

Mislykkede tester

Mislykkede tester skal blokkere en distribusjon midlertidig og føre til en grundigere analyse av hva som har skjedd. Mislykkede tester skal også føre til en finjustering av testene eller en forbedring i endringen som gjorde at testene mislyktes.

Tilrettelegging for Power Platform

Datasamlebånd tar Power Platform sikte på å demokratisere administrasjon av programlivssyklus (ALM) for Power Platform og Dynamics 365 kunder ved å bringe ALM-automatisering og funksjoner for kontinuerlig integrasjon og kontinuerlig levering (CI/CD) inn i tjenesten.

Microsoft Power Platform Build Tools for Azure DevOps kan brukes til å automatisere vanlige kompilerings- og distribusjonsoppgaver relatert til apper bygget på Power Platform.

GitHub Actions for Power Platform gjør det mulig for utviklere å bygge automatiserte arbeidsflyter for programvareutvikling. Med GitHub-handlinger for Microsoft Power Platform kan du opprette arbeidsflyter i lageret for å bygge, teste, pakke, distribuere og distribuere apper, utføre automatisering og administrere automatiseringer og andre komponenter som er innebygd i Microsoft Power Platform.

ALM Accelerator er et åpen kildekode-verktøy som består av et sett med applikasjoner, skript og pipeliner designet for å automatisere den kontinuerlige integrasjons-/kontinuerlige leveringsprosessen.

Automatiser tester med Azure pipeliner.

Power Apps checker Web API gir en mekanisme for å kjøre statiske analysekontroller mot tilpassinger og utvidelser til Microsoft Dataverse plattformen.

Microsoft Power Platform CLI (PAC CLI) er et kommandolinjeverktøy som støtter import og eksport av Power Platform løsninger, og pakking til og utpakking fra Power Platform løsningskildefiler. PAC CLI er tilgjengelig som et frittstående kommandolinjeverktøy eller som en utvidelse for Visual Studio kode.

Neste trinn