Del via


Ofte stillede spørgsmål om kildekodeintegration

Denne artikel indeholder svar på ofte stillede spørgsmål om Git-integration med Microsoft Dataverse.

Hvad er kildekodeintegration i Power Platform?

Git-integration giver en nemmere måde at synkronisere Power Platform customizatinos (løsninger og deres objekter) med et Git-lager. Løsningerne og deres objekter gemmes i menneskeligt læsbare formater i repositoriet, hvilket giver dig mulighed for nemt at søge, spore ændringer og administrere dine løsninger i et kildekontrolsystem.

Hvad er forskellen mellem Git-integration og eksisterende Developer tools?

Git-integration er indbygget i Power Platform og er mere effektiv, demokratiseret for udviklere og administratorer, har mere robuste sikkerhedsforanstaltninger og bruger et optimeret filformat. Developer tools giver i øjeblikket mere fleksibilitet for kodeudviklere.

Hvad er forudsætningerne for at bruge Git-integration?

Du skal have et Power Platform-miljø med de nødvendige tilladelser for at oprette forbindelse til Azure DevOps og binde dit miljø til et projekt i Azure DevOps. Det kræver rollen som systemadministrator i Dataverse-miljøet for at binde det til Git.

Du skal bruge et Azure DevOps abonnement og licenser til brugere, der interagerer med versionsstyring. Disse brugere skal have Basic adgangsniveau i den Azure DevOps organisation og adgang for at bidrage til projektet og lageret.

Udviklings- og målmiljøer skal aktiveres som administrerede miljøer.

Hvilke andre Git-udbydere understøttes?

Azure DevOps Git-lagre er i øjeblikket den eneste Git-udbyder, der understøttes. Denne funktion bruger Git-udbydermodellen, så andre kan understøttes senere.

Hvilke licenser skal jeg bruge for at bruge Git-integration med Dataverse?

Alle brugere i miljøet skal opfylde licenskravene til administrerede miljøer. Administrerede miljøer er påkrævet uanset miljøtype.

Udviklere, der bruger integration af kildekode, skal også have en Azure DevOps licens for at få adgang til lageret. Du kan få flere oplysninger ved at gå til Azure DevOps Services

Kan udviklere samarbejde om en løsning, mens de arbejder i forskellige udviklingsmiljøer?

Ja. Importér løsningen til hvert ekstra miljø, og opret derefter forbindelse til den samme Git-placering. Du kan få flere oplysninger ved at gå til Opret forbindelse mellem flere udviklingsmiljøer og Git

Hvorfor får jeg vist fejlen "Versionsstyringsintegration er ikke aktiveret for dette miljø?"

Denne fejl opstår, når dit miljø krypteres ved hjælp af BYOK (Bring Your Own Key).

BYOK er ikke kompatibel med elastiske tabeller, der kræves til integration af kildekode. Flere oplysninger: Administrer krypteringsnøglen

Følg disse trin for at aktivere integration af versionsstyring:

  1. Overfør din miljøkrypteringsnøgle til kundeadministrerede nøgler (CMK).
  2. Opret forbindelse til versionsstyring igen, og prøv at udføre handlingen igen.

Hvis dit miljø ikke er krypteret med BYOK, og du får vist denne fejl, skal du kontakte Microsoft Support for at få hjælp.

Hvorfor får jeg meddelelsen "Kunne ikke hente standardgrenen for det valgte lager." Vælg en standardgren for at tillade oprettelse af nye grene?"

Sørg for, at dit Azure DevOps Git-lager er initialiseret. Nye projekter og lagre har som standard et ikke-initialiseret lager, og du skal initialisere lageret manuelt for at oprette standardgrenen.

Integrerer jeg mine udviklings-, test- og produktionsmiljøer med kildekoden og bruger jeg grenfletning til at overføre konfigurationen til et andet miljø?

Denne funktion er designet til kun at have dine ikke-administrerede løsninger i udviklingsmiljøer, der er forbundet til Git. Udrulning til upstream-miljøer kræver i øjeblikket eksport af den administrerede løsning fra et udviklingsmiljø eller brug af pipelines i Power Platform.

Hvordan arbejder jeg med forgreninger?

Funktionen fungerer i øjeblikket med en enkelt gren, som du angiver, når du binder miljøet eller løsningerne til dit lager. Du kan afbryde forbindelsen til og genoprette forbindelsen til forskellige forgreninger samt bruge Azure DevOps til pullanmodninger, fletning og andre avancerede Git-handlinger.

Du kan f.eks. knytte din udvikling til en udviklergren, PR ændringerne til en funktionsgren og derefter afbryde forbindelsen til din løsning og genoprette forbindelsen til funktionsgrenen for at trække de seneste ændringer ind i et miljø.

Hvorfor er der ikke ikke-administreret og administreret løsningsrepræsentation for forskellige objekter i Git?

Før denne funktion blev tilgængelig, var det almindeligt at gemme administrerede og ikke-administrerede løsningsversioner i Git. Det er ikke længere nødvendigt. Git bør kun indeholde din kildekode og ikke-administrerede tilpasninger. Administreret kontra ikke-administreret bestemmes, når løsningen oprettes og frigives.

Hvorfor er mine kildekodefiler i YAML, men løsningseksporten er stadig primært XML?

Funktionen anvender YAML til at repræsentere løsningsindhold, fordi det er lettere at læse, forstå og letter sammenfletninger.

Hvordan kan jeg bygge og udrulle en løsning ud fra kildekode?

I øjeblikket kræver installation, at Git-udgivelsesgrenen synkroniseres med et udviklingsmiljø, og den administrerede artefakt eksporteres fra miljøet.

Hvordan udvikler jeg med kode-først-objekter, hvor jeg ikke ønsker, at mine kompilerede binære filer skal tjekkes ind i kildekoden?

I øjeblikket kan du stadig oprette forskellige objekter, f.eks. Power Apps kontrolelementer til komponentstruktur og plug-ins, ved hjælp af en anden løsning og Git-mappe.

Hvordan løser jeg konflikter?

Simple konflikter kan løses på løsningens kildekontrolside ved at vælge, hvilken version der skal bevares (miljø i forhold til Git).

Flettekonflikter registreres under sammenfletning af grene og administreres af Git.

Kan jeg foretage bestemte ændringer i stedet for alle ændringer til en løsning?

I øjeblikket skal du bekræfte alle ventende objektændringer i en løsning. Du kan dog flytte objekter til en anden løsning og tilføje dem igen senere.

Kan jeg bruge en API til at binde til Git og udløse commits og pulls?

Ja. Gå til web-API-referencen for at få dokumentation til udviklere om oprettelse af forbindelse til Git, CommitToGit, RefreshChangesFromGit, og PullChangesFromGit.

Kan jeg nu foretage ændringer direkte i versionsstyring på en understøttet måde?

Understøttelse af direkte ændringer af løsningstilpasninger ændres ikke med denne funktion. Vores anbefaling er at fortsætte praksis med at foretage ændringerne direkte i miljøet og derefter committe disse ændringer til kildekontrollen. Ændringer af lokaliserede etiketter er tilladt direkte i versionsstyring. Code-first-objekter, der understøttes ved hjælp af vores udviklerværktøjer, understøttes også og omfatter plug-ins, PCF-kontrolelementer og webressourcer.

Kan Git-integration deaktiveres?

Der er ingen indstilling for lejer- eller miljøniveau for at forhindre, at der oprettes forbindelse til Git. Adgangen til Git kan dog administreres i Git-lageret. Du kan også afbryde forbindelsen mellem miljøer i Git-forbindelsespanelet.

Kan jeg bekræfte store løsninger?

Ja. Der er dog en grænse på 17 MB for bekræftelser af en enkelt fil med Azure DevOps. Systemet opdeler store løsninger, der indeholder flere filer, i flere commits og samler dem i squash-merge.

Understøttes alle objekttyper?

I øjeblikket understøttes nogle ældre objekttyper med lavt forbrug ikke. Du får vist en fejl i visningen løsningsobjekter, når der registreres objekttyper, der ikke understøttes.

Hvordan kan jeg opgradere eksisterende løsninger?

Du kan forbinde eksisterende løsninger i et miljø til Git og bekræfte dem. Hvis løsningen kun er i Git, skal du først bruge udviklerværktøjer til at pakke og importere den ikke-administrerede løsning til et nyt udviklingsmiljø. Vi anbefaler en ny kildekodeplacering for at undgå forstyrrende ændringer mellem gamle og nye filformater.

Kan jeg bruge Git-integration til at overvåge metadataændringer? Selv for selvlærte udviklere?

Ja, det er almindeligt. Dataverse API'er kan også bruges til at foretage ændringer automatisk.

Er Git-integration tilgængelig i nationale cloudmiljøer?

Ja.

Kan jeg automatisk implementere ændringer, der overføres til Git?

Understøttelsen er begrænset i øjeblikket, men du kan bruge pipelines i Power Platform og pac pipeline deploy.

Kan jeg oprette forbindelse mellem miljøer, der er placeret i et andet geografisk område end ADO-lageret?

Samtykke er nødvendigt, når miljøet er i en anden geografi end ADO-repoen. Der vises en besked og et samtykke, når du opretter forbindelse.

Understøtter Git-integration arbejdsbelastninger på tværs af lejere (x-lejere)? Hvis Power Platform/Dataverse-miljøet f.eks. er i en anden tenant end Azure DevOps.

Ikke i øjeblikket.

Understøtter Git-integration sikkerhedsscanning?

Du kan integrere dit foretrukne scanningsværktøj i dit Azure DevOps værktøj.

Oversigt over Dataverse Git-integration

Konfiguration af Dataverse Git-integration

Kildekontrollagerhandlinger