Vodič za konfiguraciju primene
Koristi ALM Accelerator for Power Platform datoteke za konfiguraciju u JSON formatu za automatizovanje primene rešenja. Oni postavljaju reference na veze, promenljive okruženja i dozvole, dele aplikacije na platnu i ažuriraju vlasništvo nad komponentama rešenja Power Automate kao što su tokovi kada se rešenja rasporede u nizvodna okruženja.
Datoteke za konfiguraciju u ovom članku vam omogućavaju da konfigurišete stavke koje su specifične za okruženje sa kojim se rešenje koristi. Datoteke za konfiguraciju koje su vam potrebne, a samim tim i koraci koje treba da sledite u ovom članku, zavise od komponenti koje cevovodi rešenja primenjuju. Na primer, ako rešenje sadrži samo tabele i Dataverse aplikacije sa modelima i nije potrebna konfiguracija ili podaci po okruženju, možete da preskočite neke od ovih koraka.
Obezbedili smo primere datoteka za konfiguraciju u postavkama primene ALMAcceleratorSampleSolution i prilagođenim postavkama primene.
Pre nego što počnete
Ovaj članak je vodič "korak po korak" za ručno podešavanje datoteka za konfiguraciju primene. On pruža detalje o radnjama koje izvršava aplikacija i cevovodi ALM akceleratora kao referencu za administratore koji žele da znaju specifičnosti svakog koraka u procesu.
Međutim, preporučujemo da konfigurišete postavke primene u aplikaciji ALM akcelerator.
Kreiranje JSON datoteke postavki primene
Kada je datoteka customDeploymentSettings.json uskladištena u korenu config direktorijuma , ista konfiguracija se primenjuje i na sva okruženja. Pod pretpostavkom da koristite zadatke transformacije datoteke ili cevovoda za zamenu tokena za informacije koje su specifične za određena okruženja, možete da navedete vrednosti po okruženju u promenljivim cevovoda.
Međutim, možete da kreirate i prilagođene datoteke za prilagođenoDeploymentSettings.json specifične za okruženje. Uskladištite ih u poddirektorijum konfig direktorijuma, nazvane po vašim okruženjima. Ime direktorijuma mora da se podudara sa promenljivom EnvironmentName
koju ste kreirali prilikom podešavanje cevovoda za okruženja za proveru valjanosti, testa i proizvodnje. Ako ne postoje postavke primene specifične za okruženje JSON i direktorijum, cevovodi se vraćaju na konfiguraciju u korenu konfig direktorijuma.
Takođe možete da kreirate datoteke konfiguracije specifične za korisnika kao što je direktorijum JohanaDev na prethodnoj slici. Projektanti mogu da ih koriste da bi odabrali određenu konfiguraciju kada uvoze nekontrolisana rešenja iz kontrole izvora.
Postavke primene JSON datoteka konfiguriše reference na vezu i promenljive okruženja.
{
"EnvironmentVariables": [
{
"SchemaName": "cat_shared_sharepointonline_97456712308a4e65aae18bafcd84c81f",
"Value": "#{environmentvariable.cat_shared_sharepointonline_97456712308a4e65aae18bafcd84c81f}#"
},
{
"SchemaName": "cat_shared_sharepointonline_21f63b2d26f043fb85a5c32fc0c65924",
"Value": "#{environmentvariable.cat_shared_sharepointonline_21f63b2d26f043fb85a5c32fc0c65924}#"
},
{
"SchemaName": "cat_TextEnvironmentVariable",
"Value": "#{environmentvariable.cat_TextEnvironmentVariable}#"
},
{
"SchemaName": "cat_ConnectorBaseUrl",
"Value": "#{environmentvariable.cat_ConnectorBaseUrl}#"
},
{
"SchemaName": "cat_DecimalEnvironmentVariable",
"Value": "#{environmentvariable.cat_DecimalEnvironmentVariable}#"
},
{
"SchemaName": "cat_JsonEnvironmentVariable",
"Value": "#{environmentvariable.cat_JsonEnvironmentVariable}#"
},
{
"SchemaName": "cat_ConnectorHostUrl",
"Value": "#{environmentvariable.cat_ConnectorHostUrl}#"
}
],
"ConnectionReferences": [
{
"LogicalName": "new_sharedsharepointonline_b49bb",
"ConnectionId": "#{connectionreference.new_sharedsharepointonline_b49bb}#",
"ConnectorId": "/providers/Microsoft.PowerApps/apis/shared_sharepointonline"
},
{
"LogicalName": "cat_CDS_Current",
"ConnectionId": "#{connectionreference.cat_CDS_Current}#",
"ConnectorId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"
}
]
}
Kopirajte prethodni uzorak JSON koda u novu datoteku pod imenom deploymentSettings.json.
Sačuvajte datoteku u fascikli "Config " u Git-u.
Kreiranje JSON datoteke reference veze
Svojstvo ConnectionReferences
datoteke customDeploymentConfiguration.json postavlja reference na vezu u vašem rešenju nakon uvoza rešenja u okruženje. ConnectionReferences
takođe omogućite tokove nakon uvoza rešenja, na osnovu vlasnika veze koja je navedena u promenljivoj.
Kreirajte veze ručno u ciljnim okruženjima.
Kopirajte ID-ove za veze.
Nabavite logičko ime za referencu veze iz komponente reference veze u rešenju.
Nabavite ID veze sa URL adrese veze nakon što je kreirate. Na primer, ako je URL adresa "https://.../connections/shared_commondataservice/9f66d1d455f3474ebf24e4fa2c04cea2/details",ID veze je 9f66d1d455f3474ebf24e4fa2c04cea2.
Uredite datoteku customDeploymentSettings.json i nalepite ID-ove
ConnectionReferences
u svojstvo, kao u sledećem kodu primera:"ConnectionReferences": [ { "LogicalName": "new_sharedsharepointonline_b49bb", "ConnectionId": "#{connectionreference.new_sharedsharepointonline_b49bb}#", "ConnectorId": "/providers/Microsoft.PowerApps/apis/shared_sharepointonline" }, { "LogicalName": "cat_CDS_Current", "ConnectionId": "#{connectionreference.cat_CDS_Current}#", "ConnectorId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps" } ]
Ako koristite proširenje "Zameni tokene" i dodate tokene u konfiguraciju kao u prethodnom primeru, otvorite cevovod za rešenje, a zatim izaberite stavku Uredi>promenljive.
Na ekranu Promenljive cevovoda kreirajte vezu <connection_reference_logicalname>. U ovom primeru, promenljiva cevovoda je nazvana
connection.cat_CDS_Current
.Postavite vrednost na ID veze koji ste ranije pronašli.
Da biste se uverili da vrednost nije sačuvana kao čisti tekst, izaberite opciju Čuvaj ovu vrednost u tajnosti.
Kada je primenljivo, ponovite ove korake za svako rešenje i kanal koji kreirate.
Kreiranje promenljive okruženja JSON u datoteci za konfiguraciju primene
Svojstvo EnvironmentVariables
u datoteci customDeploymentConfiguration.json Dataverse postavlja promenljive okruženja u vašem rešenju nakon uvoza rešenja u okruženje.
Važno
Kada se izvoze rešenja pod kontrolom izvora, promenljive vrednosti okruženja se izvoze sa rešenjem. Ovo može predstavljati bezbednosni rizik ako promenljive okruženja sadrže osetljive informacije. Preporučujemo da osetljive informacije ne skladištite u promenljive okruženja. Jedan od načina da se uverite da promenljive vrednosti okruženja nisu kontrolisane na izvoru jeste da kreirate rešenje posebno za promenljive vrednosti okruženja u svojim razvojnim okruženjima i postavite njihovu vrednost u tom rešenju. Na taj način se sprečava izvoz vrednosti sa rešenjem i skladišti u kontroli izvora.
Kopirajte ime šeme promenljive okruženja iz promenljive komponente okruženja u rešenju.
Uredite datoteku customDeploymentSettings.json i nalepite ime u
EnvironmentVariables
svojstvo, kao u sledećem kodu primera:{ "EnvironmentVariables": [ { "SchemaName": "cat_TextEnvironmentVariable", "Value": "#{variable.cat_TextEnvironmentVariable}#" }, { "SchemaName": "cat_DecimalEnvironmentVariable", "Value": "#{variable.cat_DecimalEnvironmentVariable}#" }, { "SchemaName": "cat_JsonEnvironmentVariable", "Value": "{\"name\":\"#{variable.cat_JsonEnvironmentVariable.name}#\"}" } ] }
Ako koristite proširenje "Zameni tokene" i dodate tokene u konfiguraciju kao u prethodnom primeru, otvorite cevovod za rešenje, a zatim izaberite stavku Uredi>promenljive.
Na ekranu Promenljive cevovoda kreirajte promenljivu cevovoda za svaki simbol u konfiguraciji; na primer, variable.cat_TextEnvironmentVariable.
Postavite vrednost na promenljivu vrednost okruženja za to okruženje.
Da biste se uverili da vrednost nije sačuvana kao čisti tekst, izaberite opciju Čuvaj ovu vrednost u tajnosti.
Kada je primenljivo, ponovite ove korake za svako rešenje i kanal koji kreirate.
Kreiranje prilagođenih postavki primene JSON datoteke
Prilagođene postavke primene JSON datoteka sadrži postavke koje aktiviraju tokove u ime korisnika, određuju vlasništvo nad tokovima, dele aplikacije podloge za crtanje Microsoft Entra sa grupama i kreiraju Dataverse grupne timove nakon primene.
{
"ActivateFlowConfiguration": [
{
"solutionComponentName": "DevOpsKitSampleFlow",
"solutionComponentUniqueName": "0a43b549-50ed-ea11-a815-000d3af3a7c4",
"activateAsUser": "#{activateflow.activateas.DevOpsKitSampleFlow}#"
},
{
"solutionComponentName": "CallMeFromCanvasApp",
"solutionComponentUniqueName": "71cc728c-2487-eb11-a812-000d3a8fe6a3",
"activateAsUser": "#{activateflow.activateas.CallMeFromCanvasApp}#"
},
{
"solutionComponentName": "GetEnvironmentVariables",
"solutionComponentUniqueName": "d2f7f0e2-a1a9-eb11-b1ac-000d3a53c3c2",
"activateAsUser": "#{activateflow.activateas.GetEnvironmentVariables}#"
}
],
"SolutionComponentOwnershipConfiguration": [
{
"solutionComponentType": 29,
"solutionComponentName": "DevOpsKitSampleFlow",
"solutionComponentUniqueName": "0a43b549-50ed-ea11-a815-000d3af3a7c4",
"ownerEmail": "#{owner.ownerEmail.DevOpsKitSampleFlow}#"
},
{
"solutionComponentType": 29,
"solutionComponentName": "CallMeFromCanvasApp",
"solutionComponentUniqueName": "71cc728c-2487-eb11-a812-000d3a8fe6a3",
"ownerEmail": "#{owner.ownerEmail.CallMeFromCanvasApp}#"
},
{
"solutionComponentType": 29,
"solutionComponentName": "GetEnvironmentVariables",
"solutionComponentUniqueName": "d2f7f0e2-a1a9-eb11-b1ac-000d3a53c3c2",
"ownerEmail": "#{owner.ownerEmail.GetEnvironmentVariables}#"
}
],
"AadGroupCanvasConfiguration": [
{
"aadGroupId": "#{canvasshare.aadGroupId.DevOpsKitSampleCanvasApp}#",
"canvasNameInSolution": "cat_devopskitsamplecanvasapp_c7ec5",
"canvasDisplayName": "DevOpsKitSampleCanvasApp",
"roleName": "#{canvasshare.roleName.DevOpsKitSampleCanvasApp}#"
}
],
"AadGroupTeamConfiguration": [
{
"aadGroupTeamName": "Sample Group Team Name",
"aadSecurityGroupId": "#{team.samplegroupteamname.aadSecurityGroupId}#",
"dataverseSecurityRoleNames": [
"#{team.samplegroupteamname.role}#"
]
}
]
}
Kopirajte prethodni uzorak JSON koda u novu datoteku pod imenom CustomDeploymentSettings.json.
Sačuvajte datoteku u fascikli "Config " u Git-u.
Kreiranje podrazumevane promenljive okruženja JSON u prilagođenoj datoteci za konfiguraciju primene
Svojstvo u DefaultEnvironmentVariables
customDeploymentConfiguration.json se koristi u izvoznom cevovodu za Dataverse postavljanje podrazumevanih promenljivih okruženja u vašem rešenju kada se rešenje izveze i uskladišti u kontrolu izvora.
Belešku
Podrazumevane postavke promenljivih okruženja primenjuju se samo ako je izvozni cevovod konfigurisan sa promenljivom cevovoda VerifyDefaultEnvironmentVariableValues = True
.
Kopirajte ime šeme promenljive okruženja iz promenljive komponente okruženja u rešenju.
Uredite datoteku customDeploymentSettings.json i nalepite ime u
DefaultEnvironmentVariables
svojstvo, kao u sledećem kodu primera:{ "DefaultEnvironmentVariables": [ [ "cat_TextEnvironmentVariable", "#{defaultvariable.cat_TextEnvironmentVariable}#" ], [ "cat_DecimalEnvironmentVariable", "#{defaultvariable.cat_DecimalEnvironmentVariable}#" ], [ "cat_jsonEnvironmentVariable", "{\"name\":\"#{defaultvariable.cat_jsonEnvironmentVariable.name}#\"}" ] ] }
Ako koristite proširenje "Zameni tokene" i dodate tokene u konfiguraciju kao u prethodnom primeru, otvorite cevovod za rešenje, a zatim izaberite stavku Uredi>promenljive.
Na ekranu Promenljive cevovoda kreirajte promenljivu cevovoda za svaki simbol u konfiguraciji; na primer, defaultvariable.cat_TextEnvironmentVariable.
Kada je primenljivo, ponovite ove korake za svako rešenje i kanal koji kreirate.
Kreiranje konfiguracije Microsoft Entra podloge za grupu JSON
Svojstvo AadGroupCanvasConfiguration
datoteke customDeploymentConfiguration.json deli aplikacije podloge za crtanje Microsoft Entra u vašem rešenju sa određenim grupama nakon uvoza rešenja u okruženje.
Kopirajte ID-ove za aplikaciju i grupu platna Microsoft Entra .
Nabavite ime šeme za aplikaciju podloge za crtanje iz komponente aplikacije podloge za crtanje u rešenju.
Nabavite Microsoft Entra ID grupe sa stranice Grupe na portalu Azure.
Uredite datoteku customDeploymentSettings.json i nalepite ID-ove
AadGroupCanvasConfiguration
u svojstvo, kao u sledećem kodu primera:{ "AadGroupCanvasConfiguration": [ { "aadGroupId": "#{canvasshare.aadGroupId}#", "canvasNameInSolution": "cat_devopskitsamplecanvasapp_c7ec5", "roleName": "#{canvasshare.roleName}#" } ] }
Konzerva
roleName
jeCanView
,CanViewWithShare
iCanEdit
.Ako koristite proširenje "Zameni tokene" i dodate tokene u konfiguraciju kao u prethodnom primeru, otvorite cevovod za rešenje, a zatim izaberite stavku Uredi>promenljive.
Na ekranu Promenljive cevovoda kreirajte promenljivu cevovoda za svaki simbol u konfiguraciji; na primer,
canvasshare.aadGroupId
Postavite vrednost na ID Microsoft Entra grupe na koji aplikacija mora da se deli za to određeno okruženje.
Da biste se uverili da vrednost nije sačuvana kao čisti tekst, izaberite opciju Čuvaj ovu vrednost u tajnosti.
Kada je primenljivo, ponovite ove korake za svako rešenje i kanal koji kreirate.
Kreiranje Microsoft Entra JSON konfiguracije grupe i tima
Svojstvo AadGroupTeamConfiguration
datoteke customDeploymentConfiguration.json mapira timove Dataverse i uloge grupama Microsoft Entra u vašem rešenju nakon uvoza rešenja u okruženje.
Bezbednosne uloge moraju biti dodate vašem rešenju ako nisu ručno kreirane u ciljnom okruženju. Jedna ili više uloga se mogu primeniti na tim. Uloge obezbeđuju dozvole za komponente rešenja koje zahtevaju korisnici u grupi.
Ime Dataverse tima može biti postojećeg tima ili novog tima koji će biti kreiran Dataverse i mapiran grupi Microsoft Entra nakon uvoza rešenja.
Dataverse Uloge mogu biti bilo koje bezbednosna uloga koje Dataverse bi se primenjivale na tim nakon uvoza rešenja. Uloge moraju imati privilegije za resurse koje rešenje zahteva, kao što su tabele i procesi.
Nabavite Microsoft Entra ID grupe sa stranice Grupe u Azure portalu kao u prethodnom odeljku.
Uredite datoteku customDeploymentSettings.json i nalepite JSON u
AadGroupTeamConfiguration
svojstvo, kao u sledećem primeru koda:{ "AadGroupTeamConfiguration": [ { "aadGroupTeamName": "alm-accelerator-sample-solution", "aadSecurityGroupId": "#{team.aadSecurityGroupId}#", "dataverseSecurityRoleNames": [ "ALM Accelerator Sample Role" ] } ] }
Ako koristite proširenje "Zameni tokene" i dodate tokene u konfiguraciju kao u prethodnom primeru, otvorite cevovod za rešenje, a zatim izaberite stavku Uredi>promenljive.
Na ekranu Promenljive cevovoda kreirajte promenljivu cevovoda za svaki simbol u konfiguraciji; na primer,
team.aadSecurityGroupId
Postavite vrednost na Microsoft Entra ID grupe u kojoj ćete se povezati sa timom Dataverse.
Da biste se uverili da vrednost nije sačuvana kao čisti tekst, izaberite opciju Čuvaj ovu vrednost u tajnosti.
Kada je primenljivo, ponovite ove korake za svako rešenje i kanal koji kreirate.
JSON za kreiranje vlasništva nad komponentama rešenja
Svojstvo SolutionComponentOwnershipConfiguration
datoteke customDeploymentConfiguration.json korisnicima dodeljuje vlasništvo nad komponentama rešenja Dataverse nakon uvoza rešenja u okruženje. Dodeljivanje vlasništva je korisno za komponente kao što su tokovi koji su podrazumevano u vlasništvu glavnog korisnika usluge nakon uvoza rešenja od strane cevovoda, a organizacije žele da ih ponovo dodele nakon uvoza.
Svojstvo SolutionComponentOwnershipConfiguration
takođe omogućava tokove koji nemaju reference na vezu. Tok je omogućen od strane navedenog korisnika kada ne postoje reference veze da bi se omogućio tok.
Belešku
Trenutni kanal samo sprovodi mogućnost da se odredi vlasništvo nad tokovima.
Kôd tipa komponente rešenja se zasniva na tipovima komponenti navedenim u Web API referenci solutioncomponent EntityType. Na primer, tok Power Automate je tip komponente 29. Vrsta komponente mora biti navedena kao ceo broj, bez navodnika.
Nabavite jedinstveno ime komponente Power Automate toka iz raspakovanom rešenju.
Tokovi ne zahtevaju jedinstvena imena kada se kreiraju. Jedini pravi jedinstveni identifikator za tok je unutrašnji ID koji mu sistem dodeljuje u rešenju.
Nabavite e-adresu vlasnika iz korisničkog zapisa u Dataverse ili Microsoft 365.
Uredite datoteku customDeploymentSettings.json i nalepite JSON u
AadGroupTeamConfiguration
svojstvo, kao u sledećem primeru koda:{ "SolutionComponentOwnershipConfiguration": [ { "solutionComponentType": 29, "solutionComponentUniqueName": "00000000-0000-0000-0000-00000000000", "ownerEmail": "#{owner.ownerEmail}#" }, { "solutionComponentType": 29, "solutionComponentUniqueName": "00000000-0000-0000-0000-00000000000", "ownerEmail": "#{owner.ownerEmail}#" } ] }
Ako koristite proširenje "Zameni tokene" i dodate tokene u konfiguraciju kao u prethodnom primeru, otvorite cevovod za rešenje, a zatim izaberite stavku Uredi>promenljive.
Na ekranu Promenljive cevovoda kreirajte promenljivu cevovoda za svaki simbol u konfiguraciji; na primer,
owner.ownerEmail
Postavite vrednost na e-adresu vlasnika komponente.
Da biste se uverili da vrednost nije sačuvana kao čisti tekst, izaberite opciju Čuvaj ovu vrednost u tajnosti.
Kada je primenljivo, ponovite ove korake za svako rešenje i kanal koji kreirate.
Uvoz podataka iz cevovoda
Možda ćete želeti da uvezete podatke o konfiguraciji ili semenu Dataverse u svoje okruženje nakon što primenite rešenje u ciljno okruženje. Cevovodi su konfigurisani za uvoz podataka pomoću alatke "Migracija konfiguracije", dostupne putem NuGet. Saznajte više o upravljanju podacima o konfiguraciji.
Kada se podaci o konfiguraciji skladište u korenu config direktorijuma , isti podaci o konfiguraciji se prenose na sva okruženja. Možete da kreirate datoteke sa podacima za konfiguraciju specifične za okruženje. Uskladištite ih u poddirektorijum konfig direktorijuma, nazvane po vašim okruženjima. Ime direktorijuma mora da se podudara sa promenljivom EnvironmentName
koju ste kreirali prilikom podešavanje cevovoda za okruženja za proveru valjanosti, testa i proizvodnje. Ako ne postoje podaci o konfiguraciji specifični za okruženje i direktorijum, cevovodi se vraćaju na podatke o konfiguraciji u korenu konfig direktorijuma.
Klonirajte Azure DevOps spremište gde će se nalaziti kontrola izvora vašeg rešenja i gde ste kreirali YAML kanala rešenja na lokalnom računaru.
Ako već niste, kreirajte direktorijum pod imenom config u fascikli "Config " u fascikli sa rešenjima.
Instalirajte alatku "Migracija konfiguracije". Sledite uputstva u alatkama za preuzimanje iz NuGet.
Otvorite alatku Configuration Migration Tool, izaberite Kreiraj šemu, a zatim izaberite Nastavi.
Prijavite se kod zakupca iz kog želite da izvezete podatke o konfiguraciji.
Izaberite okruženje.
Izaberite tabele i kolone koje želite da izvezete.
Izaberite sačuvaj i izvezi. Sačuvajte podatke u katalogu putanje config\ConfigurationMigrationData u Azure DevOps lokalnom repou, u fascikli za rešenje za koje će podaci biti uvezeni.
Belešku
Cevovod traži ovu određenu fasciklu za uvoz podataka nakon uvoza rešenja. Uverite se da su ime fascikle i njena lokacija tačno onakvi kakvi su ovde dati.
Kada bude zatraženo da izvezete podatke, izaberite Da.
Odaberite istu lokaciju za izvezene podatke, izaberite stavku Sačuvaj , a zatim izaberite Stavku Izvezi podatke.
Kada se izvoz dovrši, otkopčavanje datoteka iz datoteke .zip datoteku u direktorijum ConfigurationMigrationData . Izbrišite datoteke .zipi SampleData.xml podatke.
Izvršite promene sa podacima na koje ćete Azure DevOps.