Pakettide loomine Package Deployeri tööriistale
Package Deployer võimaldab administraatoritel pakette Microsoft Dataverse'i eksemplaril juurutada. Package Deployer paketis võib sisalduda mõni või kõik allnimetatutest:
- Üks või mitu Dataverse-i lahendusefaili.
- Lamefailid või konfiguratsiooni migreerimise tööriistast eksporditud konfiguratsiooniandmete fail. Lisateavet tööriista kohta leiate jaotisest Konfiguratsiooniandmete teisaldamine eksemplaride ja organisatsioonide vahel Konfiguratsiooni ülemineku tööriista abil.
- Kohandatud kood, mida saab käitada enne paketi juurutamist Dataverse'i eksemplari või selle ajal või pärast seda.
- Paketiga seotud HTML-sisu, mida võidakse kuvada juurutusprotsessi alguses ja lõpus. See on kasulik paketis juurutatud lahenduste ja failide kirjelduse esitamiseks.
Märkus.
On olemas ka teine paketitüüp mida nimetatakse lisandmoodulipaketiks. Sellist tüüpi pakett on lisandmoodulist sõltuvate assemblerite jaoks ja sel pole seost pakettidega Package Deployer .
eeltingimused
- Veenduge, et kõik lahendused ja failid, mida soovite paketti kaasata, oleksid selleks valmis.
- Visual Studio 2019 või uuem või Visual Studio kood.
Protsessi ülevaade
Paketi loomiseks Package Deployer toimige järgmiselt.
- Looge Visual Studio või MSBuild projekt
- Projektile lahenduste ja muude failide lisamine
- Esitatud HTML-failide värskendamine (valikuline)
- Määrake paketi konfiguratsiooniväärtused
- Määratlege paketi kohandatud kood
- Paketi koostamine ja juurutamine
Neid samme on käesolevas artiklis üksikasjalikult kirjeldatud.
Projekti paketi loomine
Esimene etapp on luua paketi jaoks Visual Studio MSBuild-projekt. Selleks peab teil olema arendusarvutisse installitud üks kahest saadaolevast tööriistalaiendist. Kui kasutate Visual Studio Code, installige Microsoft Power Platform CLI. Muul juhul, kui kasutate Visual Studio versiooni 2019 või uuemat versiooni, installige Power Platform tööriistad Visual Studio.
Valige allolevalt vahekaardilt, et teada saada, kuidas luua projekti soovitud tööriistalaiendiga. Mõlemad tööriistad väljundid projekti sarnases vormingus.
Käivitage algne pakett paketi algse käsuga. Lisateave: paketi pakkimine
pac package init help
pac package init --outputDirectory DeploymentPackage
Tulemuseks saadud CLI väljund sisaldab allpool kuvatavaid kaustu ja faile. Siin on näitena kasutatud kausta nime "DeploymentPackage".
C:.
└───DeploymentPackage
│ DeploymentPackage.csproj
│ PackageImportExtension.cs
│
└───PkgAssets
ImportConfig.xml
manifest.ppkg.json
Loodud projektis leidke kaustast PkgAssets ImportConfig.xml konfiguratsioonifail ja PackageImportExtension.cs fail. Muudate neid faile selles artiklis allpool kirjeldatud viisil.
Paketi failide lisamine
Pärast pakettlahenduse projekti loomist saate sellele projektile lisada lahendusi ja muid faile.
CLI kasutamisel saate lisada väliseid pakette, lahendusi ja viiteid oma pakett projektile, kasutades ühte alamkommandruutidest . Sisetage pac package help
et näha käskude loendit. Lisame oma paketti lahenduse.
> pac package add-solution help
Commands:
Usage: pac package add-solution --path [--import-order] [--skip-validation] [--publish-workflows-activate-plugins] [--overwrite-unmanaged-customizations] [--import-mode] [--missing-dependency-behavior] [--dependency-overrides]
> cd .\DeploymentPackage\
> pac package add-solution --path ..\TestSolution_1_0_0_1_managed.zip
The item was added successfully.
Paketi konfigureerimine
Määratlege paketi konfiguratsioon, lisades oma paketi teabe faili ImportConfig.xml, mis on saadaval projektis. Vaadake importconfigi viidet , et saada näide ja kehtivate elementide ja atribuutide kirjeldused, mida kasutada.
Kohandatud koodi lisamine
Saate lisada kohandatud koodi, mis käivitub enne paketti importimist, selle ajal ja pärast importimist. Selleks järgige järgmisi juhiseid.
Redigeerige PackageTemplate.cs (või PackageImportExtension.cs) faili projekti juurkaustas.
C# failis saate teha järgmist.
Sisestage kohandatud kood, mis käivitatakse paketi lähtestamisel meetodi
InitializeCustomExtension
alistamisdefinitsioonis.Selle meetodi abil saavad kasutajad kasutada käitusaja parameetreid paketi käitamisel. Arendajana saate paketile lisada mis tahes käitusaja parameetri toe, kasutades RuntimeSettings atribuuti seni, kuni teil on kood selle töötlemiseks kasutaja sisestuse põhjal.
Näiteks lubab järgmine näidiskood käitusaja parameetri nimega
SkipChecks
paketi jaoks, millel on kaks võimalikku väärtust: tõene või väär. Näidiskood kontrollib, kas kasutaja on Package Deployeri käitamise (käsurea või PowerShelli abil) ajal määranud käitusaja parameetrid ja seejärel töötleb teavet vastavalt. Kui kasutaja ei määra paketi käitamise ajal käitusaja parameetrit, siis RuntimeSettings atribuut on tühiväärtusega.public override void InitializeCustomExtension() { // Do nothing. // Validate the state of the runtime settings object. if (RuntimeSettings != null) { PackageLog.Log(string.Format("Runtime Settings populated. Count = {0}", RuntimeSettings.Count)); foreach (var setting in RuntimeSettings) { PackageLog.Log(string.Format("Key={0} | Value={1}", setting.Key, setting.Value.ToString())); } // Check to see if skip checks is present. if ( RuntimeSettings.ContainsKey("SkipChecks") ) { bool bSkipChecks = false; if (bool.TryParse((string)RuntimeSettings["SkipChecks"], out bSkipChecks)) OverrideDataImportSafetyChecks = bSkipChecks; } } else PackageLog.Log("Runtime Settings not populated"); }
See võimaldab administraatoril kasutada käsurida või Import-CrmPackage i cmdlet-käsku, et määrata, kas Package Deployer tööriista käitades jätta ohutuskontrollid vahele paketi importimiseks. Lisateavet vt Pakettide juurutamine Package Deployeriga ja Windows PowerShelliga
Sisestage kohandatud kood, mis käivitatakse enne lahenduste importimist meetodi
PreSolutionImport
alistamisdefinitsioonis, et määrata, kas säilitada või kirjutada kohandused üle määratud lahenduse värskendamisel Dataverse'i sihteksemplaris ning kas aktiveerida lisandmoodulid ja töövood automaatselt.Alistamismeetodi definitsiooni
RunSolutionUpgradeMigrationStep
kasutamine andmete teisendamiseks või lahenduse kahe versiooni vaheliseks täiendamiseks Seda meetodit nimetatakse ainult siis, kui imporditav lahendus on sihteksemplaris Dataverse juba olemas.See funktsioon eeldab järgmisi parameetreid.
Parameeter Kirjeldus solutionName
Lahenduse nimi oldVersion
Vana lahenduse versiooninumber newVersion
Uue lahenduse versiooninumber oldSolutionId
Vana lahenduse GUID. newSolutionId
Uue lahenduse GUID. Sisestage kohandatud kood, mis käivitatakse enne lahenduse importimise lõpuleviimist meetodi
BeforeImportStage
alistamisdefinitsioonis. Näidisandmed ja mõned lamefailid failisImportConfig.xml
määratud lahenduste jaoks imporditakse enne lahenduse importimise lõpulejõudmist.Alistage konfiguratsiooniandmete importimiseks praegu valitud keel, kasutades alistamismeetodi definitsiooni
OverrideConfigurationDataFileLanguage
. Kui määratud keele määratud lokaadi ID-d (LCID) ei leita paketi saadaolevate keelte loendist, imporditakse vaikeandmefail.Konfigureerimisandmete jaoks saadaolevad keeled saate määrata faili
ImportConfig.xml
sõlmes<cmtdatafiles>
. Konfiguratsiooniandmete impordi vaikefail on määratud failiImportConfig.xml
atribuudiscrmmigdataimportfile
.Andmekontrollide vahelejätmine (OverrideDataImportSafetyChecks = tõene) võib siin olla tõhus, kui olete kindel, et sihteksemplar Dataverse ei sisalda andmeid.
Sisestage kohandatud kood, mis käivitatakse pärast lahenduse importimise lõpuleviimist meetodi
AfterPrimaryImport
>alistamisdefinitsioonis. Ülejäänud lamefailid, mida ei imporditud varem, enne lahenduse importimise algust, imporditakse nüüd.Muutke paketi kausta vaikenimi soovitud paketi nimeks. Selleks nimetage
PkgFolder
(või PkgAssets) kaustas Lahenduse uurijas paanil ja seejärel redigeerige atribuudiGetImportPackageDataFolderName
tagastusväärtust.public override string GetImportPackageDataFolderName { get { // WARNING this value directly correlates to the folder name in the Solution Explorer where the ImportConfig.xml and sub content is located. // Changing this name requires that you also change the correlating name in the Solution Explorer return "PkgFolder"; } }
Muutke paketi nime, redigeerides atribuudi
GetNameOfImport
tagastusväärtust.public override string GetNameOfImport(bool plural) { return "Package Short Name"; }
See tagastatud väärtus on teie paketi nimi, mis kuvatakse Dynamics 365-i Package Deployer viisardi paketivaliku lehel.
Muutke paketi kirjeldust, redigeerides atribuudi
GetImportPackageDescriptionText
tagastusväärtust.public override string GetImportPackageDescriptionText { get { return "Package Description"; } }
See tagastatud väärtus on paketi kirjeldus, mis kuvatakse viisardi paketivaliku Package Deployer lehel paketi nime kõrval.
Muutke paketi pikka nime, redigeerides atribuudi
GetLongNameOfImport
tagastusväärtust.public override string GetLongNameOfImport { get { return "Package Long Name"; } }
Paketi pikk nimi kuvatakse järgmisel lehel pärast seda, kui olete valinud installitava paketi.
Lisaks on paketile saadaval järgmised funktsioonid ja muutujad:
Nimi Tüüp Kirjeldus CreateProgressItem(String) Function Kasutatakse kasutajaliideses (UI) uue poolelioleva üksuse loomiseks. RaiseUpdateEvent(String, ProgressPanelItemStatus) Function Kasutatakse CreateProgressItem(String) kutse abil loodud edenemise värskendamiseks.
ProgressPanelItemStatus on loetelu, millel on järgmised väärtused:
Töötamine = 0
Täielik = 1
Nurjunud = 2
Hoiatus = 3
Tundmatu = 4RaiseFailEvent(String, Exception) Function Kasutatakse praeguse oleku importimise nurjumiseks erandi teatega. IsRoleAssoicatedWithTeam(Guid, Guid) Function Kasutatakse selleks, et määratleda, kas roll on seostatud määratud meeskonnaga. IsWorkflowActive(Guid) Function Kasutatakse selleks, et määratleda, kas määratud töövoog on aktiivne. PackageLog Klassi viit See on viide paketi lähtestatud logimisliidesele. Seda liidest kasutab pakett sõnumite ja erandite logimiseks paketi logifaili jaoks. RootControlDispatcher Atribuut See on dispetšeri liides, mida kasutatakse selleks, et teie juhtelement saaks paketi juurutamise ajal oma kasutajaliidese renderdada. Selle liidese abil saate mähkida kõik kasutajaliidese elemendid või käsud. Enne selle muutuja kasutamist on oluline kontrollida, kas sellel muutujal pole nullväärtusi, kuna see ei pruugi olla väärtusele seatud. CrmSvc Atribuut See on viit CrmServiceClient klassile, mis võimaldab paketil adresseerida lahendust Dynamics 365 paketi kaudu. Selle abil saate käitada tühistatud meetodites SDK-meetodeid ja muid toiminguid. DataImportBypass Atribuut Selle abil saate määrata, kas Dynamics 365 Package Deployer jätab vahele kõik andmete imporditoimingud Dataverse näidisandmete, faili andmete ja Konfiguratsiooni ülemineku tööriista eksporditud andmete importimise. Määrake: tõene või väär. Vaikesäte on false
.OverrideDataImportSafetyChecks Atribuut Määrake, kas Dynamics 365 Package Deployer möödub mõnest oma ohutuskontrollist, mis aitab parandada impordi jõudlust. Määrake: true
võifalse
. Vaikesäte onfalse
.
Peaksite selle atribuudi määramatrue
ainult siis, kui sihteksemplar Dataverse ei sisalda andmeid.Salvestage oma projekt. Järgmine etapp on paketi ehitamine.
Ehita ja juuruta
Järgmistes jaotistes kirjeldatakse, kuidas paketti koostada ja juurutada.
Koosta
Paketi koostamist kirjeldatakse allpool sõltuvalt sellest, millist tööriista kasutate.
CLI-ga loodud paketi loomiseks võite laadida .csproj faili Visual Studio, kuid selle asemel kasutame käsku dotnet ja MSBuild. Allolevas näites eeldatakse, et töökataloog sisaldab faili *.csproj.
> dotnet publish
DeploymentPackage -> C:\Users\peter\Downloads\DeploymentPackage\bin\Debug\DeploymentPackage.1.0.0.pdpkg.zip
Soovi korral saate vaadata sisseehitatud paketi üksikasju.
> pac package show --package .\bin\Debug\DeploymentPackage.1.0.0.pdpkg.zip
Teie pakett on loodud failis <Projekt>\Bin\Debug kaustas.
- <Kaust> PackageName (Paketi nimi): kausta nimi on sama, mille muutsite pakettkausta nimeks käesoleva jaotise samm 2.g jaotises Kohandatud koodi lisamine. See kaust sisaldab teie paketi kõiki lahendusi, konfiguratsiooniandmeid, lamefaile ja sisu.
Märkus.
Võib näha .NET-i kausta (nt net472), mis sisaldab pdpublish kausta. Teie DLL muud projektifailid asuvad selles pdpublish kaustas.
- <PackageName>.dll: komplekt sisaldab teie paketi kohandatud koodi. Vaikimisi on assembleri nimi sama mis teie projekti nimi.
Juuruta
Pärast paketi loomist saate selle juurutada Dataverse eksemplaris Package Deployer tööriista või Windows PowerShell või CLI käsu abil.
Tööriista juurutamiseks laadige Package Deployer esmalt tööriist alla, nagu on kirjeldatud Dataverse arendustööriistades. Järgmisena järgige üksikasjalikku teavet paketi juurutamise kohta artiklis Pakettide juurutamine Windows PowerShelli Package Deployer abil.
CLI abil juurutamiseks kasutage
pac package deploy
käsku.> pac package deploy --package .\bin\Debug\DeploymentPackage.1.0.0.pdpkg.zip
Märkus.
Paketi juurutamiseks sihtkeskkonda CLI abil peate esmalt seadistama autentimisprofiili ja valima organisatsiooni. Lisateave: auth paketi loomine, paketi org valik
Head tavad
Allpool on toodud mõned parima tava näpunäited, mida pakettidega töötamisel Package Deployer järgida.
Paketi loomine
Pakettide loomisel peavad arendajad:
- Veenduge, et paketi assembleritele oleks alla kirjutatud.
Pakettide juurutamine
Kui juurutate pakette, Dataverse administraatorid peavad:
- nõudma allkirjastatud paketi komplekti et teil oleks võimalik tuvastada komplekti allikat.
- Testige pakendit enne tootmiseksemplar käitamist tootmiseelsel eksemplaril, eelistatavalt tootmiseksemplar peegelpildil.
- tegema tootmiseksemplarist enne paketi juurutamist varukoopia.
Vt ka
Tagasiside
https://aka.ms/ContentUserFeedback.
Varsti tulekul: 2024. aasta jooksul tühistame GitHubi probleemide funktsiooni sisutagasiside mehhanismina ja asendame selle uue tagasisidesüsteemiga. Lisateabe saamiseks vtEsita ja vaata tagasisidet