Nasadenie balíkov pomocou Dynamics CRM Package Deployer a Windows PowerShell

Vzťahuje sa na aplikácie Dynamics 365 for Customer Engagement, verzia 9.x
Vzťahuje sa na aplikácie Dynamics 365 for Customer Engagement (on-premises), verzia 9.x

Microsoft Dynamics CRM Package Deployer správcom umožňuje nasadiť balíky do aplikácií Dynamics 365 for Customer Engagement (on-premises) alebo do inštancie Dynamics 365 for Customer Engagement. "Balík" obsahuje čokoľvek z tohto:

  • Jeden alebo viac súborov riešenia aplikácií Customer Engagement.

  • Ploché súbory alebo súbory exportovaných údajov z nástroja Configuration Migration. Ďalšie informácie o nástroji Configuration Migration nájdete v sekcii Správa údajov konfigurácie.

  • Vlastný kód, ktorý možno spustiť počas alebo po nasadení balíčka na Dynamics 365 for Customer Engagement.

  • Obsah HTML špecifický pre balíček, ktorý sa môže zobraziť na začiatku a konci procesu nasadenia balíčka. To môže byť užitočné pre popis riešení a súborov, ktoré sú nasadené v balíčku.

    Vývojári vytvárajú balíčky pomocou šablón nasadenia balíčkov v Visual Studio. Ďalšie informácie:Vytvoriť balíky pre Package Deployer aplikácie Dynamics 365 for Customer Engagement

    Po vytvorení balíčka ho môžete nasadiť buď spustením CRM Package Deployer alebo pomocou rutín cmdlet Windows PowerShell pre nástroj.

Dôležité

Pred importovaním a spustením balíčku do výrobnej organizácie balíček otestujte na nevýrobnom zrkadlovom obraze výrobnej organizácie.

Pred nasadením balíka si vždy zálohujte výrobnú organizáciu.


Nasadenie balíkov pomocou nástroja Package Deployer

Pomocou nástroja Package Deployer (packagedeployer.exe) môžete nasadiť balíky nasledujúcimi spôsobmi.

Použiť nástroj Package Deployer CRM na nasadenie balíčkov

Použitie nástroja CRM Package Deployer v príkazovom riadku

Použitie nástroja Package Deployer na nasadenie balíkov

Nástroj Package Deployer dokáže v tom istom čase spracovať len jeden balík. Používateľom však ponúka možnosť vybrať Package Deployer spomedzi viacerých balíkov dostupných vo vlastnom príslušnom adresári. Niektoré obrazovky a akcie nástroja sa môžu líšiť v závislosti od definície balíčka. Nástroj Package Deployer nemusíte inštalovať. Stačí ho prevziať a spustiť.

  1. Získajte balíček, ktorý chcete nasadiť. Balík je kolekcia súborov a priečinkov vytvorená v priečinku projektu aplikácie Visual Studio (<Projekt> \Bin\Debug) pri zostavovaní projektu v aplikácii Visual Studio. Skopírujte nasledujúci text z priečinka debug projektu:

    • Priečinok<PackageName>: tento priečinok obsahuje riešenia, konfiguráciu importu a obsah balíka.

    • <PackageName>.dll: zostava obsahuje kód vášho balíka. Podľa predvoleného nastavenia názov zostavy je rovnaký ako váš Visual Studio názov projektu.

      Podrobnejšie informácie o vytvorení balíku pomocou Visual Studio nájdete v časti Vytvorenie balíka pre nástroj Package Deployer.

      Pre potreby tohto textu predpokladajme, že priečinok balíka a zostava z priečinka ladenia projektu Visual Studio (<Projekt> \Bin\Debug) sú skopírované do priečinka c:\DeployPackage.

  2. Získajte nástroj Package Deployer. Nástroj Package Deployer je dostupný vo forme balíka NuGet. Pred použitím nástroja Package Deployer ho musíte stiahnuť a extrahovať do lokálneho počítača pomocou programu nuget.exe.

    Program nuget.exe si stiahnite z adresy https://www.nuget.org/downloads a uložte do počítača, napríklad na disk d:\. Potom spustením nasledujúceho príkazu z príkazového riadka extrahujte obsah balíka do nejakého priečinka v počítači, napríklad PD:
    d:\nuget install Microsoft.CrmSdk.XrmTooling.PackageDeployment.Wpf -Version [VERSION] -O d:\PD

    Po extrahovaní nástroja Package Deployer prejdite do priečinka [ExtractedLocation]\tools, kde nájdete súbor PackageDeployer.exe.

  3. Skopírujte priečinok balíka a zostavu z c:\DeployPackage do priečinka [ExtractedLocation]\tools.

  4. Po skopírovaní súborov spustite nástroj dvojitým kliknutím na súbor PackageDeployer.exe v priečinku [ExtractedLocation]\tools.

  5. Na hlavnej obrazovke nástroja kliknite na položku Pokračovať.

  6. Na obrazovke Pripojiť k Microsoft Dynamics 365 for Customer Engagement zadajte overovacie podrobnosti a pripojte svoj server Customer Engagement, kam chcete nasadiť balík. Ak máte viac organizácií, a chcete vybrať tú, do ktorej sa má nasadiť balíček, označte začiarkavacie políčko Vždy zobrazovať zoznam dostupných organizácií. Kliknite na položku Prihlásiť.

  7. Ak máte na svojom serveri Customer Engagement viacero organizácií, vyberte tú organizáciu aplikácií Customer Engagement, ku ktorej sa chcete pripojiť.

  8. Vyberte balík, ktorý chcete nasadiť, a kliknite na položku Ďalej.

    Vyberte svoj balík v nástroji Package Deployer

  9. Riaďte sa podľa pokynov na ďalších obrazovkách a dokončite nasadzovanie balíčka.

    Niektoré obrazovky určené na nasadenie sa môžu líšiť v závislosti od definície balíčka. Informácie o ucelenom nasadení balíka s využitím nástroja Package Deployer nájdete v téme venujúcej sa nasadeniu balíkov Unified Service Desk: Nasadenie ukážkových aplikácií Unified Service Desk na CRM Server pomocou nástroja Package Deployer

Použitie nástroja Package Deployer v príkazovom riadku

Správcovia systému a upravovatelia systému môžu odovzdať parametre, akými sú kód regionálneho jazyka do packagedeployer.exe z príkazového riadka. Tieto parametre môžu byť nakonfigurované iba spustením nástroja Package Deployer v príkazovom riadku.

Poznámka

Táto funkcia bola prvýkrát zavedená v systéme Dynamics CRM Online 2016, aktualizácia 0.1.

Dostupné parametre sa nachádzajú v tejto tabuľke.

Parameter Opis Predvolená hodnota
RuntimePackageSettings Dajte packagedeployer.exe pokyn akceptovať parametre príkazového riadka ako LCID a SkipChecks. Nevzťahuje sa
LCID=localeID Určuje identifikácia miestneho nastavenia, napríklad 1033 English-Spojené štáty americké alebo 1036 French-Francúzsko, z dostupných ID jazykov v balíku. Ak nie je zadaný, použije sa predvolený jazyk. Použiť predvolený jazyk
SkipChecks=true/false Tento parameter použite len pri cieľovom prostredí, ktoré neobsahuje žiadne iné riešenia ani prispôsobenia. Ak je hodnota áno, importovať riešenie obíde niektoré bezpečnostné kontroly, čo môže zlepšiť výkon importu. Nepravda

Nasledujúci príklad dáva nástroju CRM Package Deployer pokyny na obídenie niektorých bezpečnostných kontrol a jazyk, ktorý chce importovať, nastaví na poľštinu.

packagedeployer.exe RuntimePackageSettings SkipChecks=true | lcid=1045  

Poznámka

Použitie znak fajky | na oddelenie parametrov pri spustení packagedeployer.exe v príkazovom riadku s viacerými parametrami.

Ďalšie informácie o parametroch a hodnotách, ktoré je možné odovzdať súboru packagedeployer.exe,nájdete v sekcii Vytvorenie balíkov pre nástroj CRM Package Deployer.

Na nasadenie balíčkov použite nástroj Windows PowerShell

Nástroj Package Deployer tiež poskytuje prostrediu Windows PowerShell podporu pri nasadzovaní balíkov.

Balíčky nasaďte pomocou rutín cmdlet PowerShell nasledujúcimi krokmi:

Predpoklady

Import balíka modulu Package Deployer PowerShell

Pomocou rutín cmdlet získajte balíčky

Na pripojenie sa k serveru Dynamics 365 for Customer Engagement použite cmdlet

Pomocou rutiny cmdlet nasaďte balíčky

Získajte podrobnú pomoc o rutinách cmdlet

Predpoklady

Nasledujú predpoklady používania rutín cmdlet PowerShell:

  • Na nasadenie balíčka potrebujete PowerShell 3.0 alebo novší, ak používate PowerShell. Ak chcete skontrolovať verziu PowerShell, spusťte okno PowerShell a potom zadajte tento príkaz: $Host

  • Nastavte politiku spustenia podpísaných skriptov PowerShell. Urobíte tak spustením okna PowerShell ako správca a zadaním nasledujúceho príkazu: Set-ExecutionPolicy -ExecutionPolicy AllSigned

Import balíka modulu Package Deployer PowerShell

Predtým, než začnete používať nástroj Package Deployer, preň musíte importovať modul Windows PowerShell. Import:

  1. Získanie súborov PowerShell pre Package Deployer. Súbory PowerShellu pre nástroj Package Deployer sú dostupné vo forme balíka NuGet. Pred použitím ich musíte stiahnuť a extrahovať do lokálneho počítača pomocou programu nuget.exe.

    Program nuget.exe si stiahnite z adresy https://www.nuget.org/downloads a uložte do počítača, napríklad na disk d:\. Potom spustením nasledujúceho príkazu z príkazového riadka extrahujte obsah balíka do nejakého priečinka v počítači, napríklad PD-PowerShell:
    d:\nuget install Microsoft.CrmSdk.XrmTooling.PackageDeployment.PowerShell -Version [VERSION] -O d:\PD-PowerShell

    Po extrahovaní súborov PowerShellu pre nástroj Package Deployer prejdite do priečinka [ExtractedLocation]\tools, kde nájdete požadované súbory.

  2. Spustite Windows PowerShell na počítači s vyššími oprávneniami (ako správca).

  3. Na vyzvanie v okne Windows PowerShell zmeňte adresár na priečinok, kam ste rozbalili súbory. V tomto prípade:

    cd [ExtractedLocation]\tools\  
    
  4. Spustite skript RegisterXRMPackageDeployment.ps1 dostupný v priečinku [ExtractedLocation]\tools spustením nasledovného príkazu:

    .\RegisterXRMPackageDeployment.ps1  
    

    Teraz už ste pripravený tieto rutiny cmdlet Windows PowerShell používať. Zoznam zaregistrovaných rutín vypíšete nasledujúcim príkazom zadaným do príkazového riadka okna Windows PowerShell:

Get-Help “Crm”  

Pomocou rutín cmdlet získajte balíčky

Než budete môcť použiť rutinu cmdlet, uistite sa, že ste skopírovali balíček do priečinka PackageDeployer (v tomto prípade [ExtractedLocation]\tools). Balík je kolekcia súborov a priečinkov vytvorených v priečinku projektu aplikácie Visual Studio (<Projekt> \Bin\Debug) pri zostavovaní projektu v aplikácii Visual Studio. Celý obsah ladiaceho priečinka projektu skopírujte do priečinka PackageDeployer. Podrobnejšie informácie o zostavení balíka prostredníctvom programu Visual Studio nájdete v téme Vytvorenie balíkov pre nástroj CRM Package Deployer.

  1. V okne prostredia PowerShell pomocou tejto rutiny cmdlet si nechajte vrátiť zoznam balíkov dostupných na importovanie do určeného priečinka (v tomto prípade to bude c:\CRM\SDK\Tools\PackageDeployer):

    Get-CrmPackages –PackageDirectory [ExtractedLocation]\tools  
    
  2. Ak chcete informácie o balíčku v priečinku, môžete použiť rutinu cmdlet Get-CrmPackages spolu s parametrom -PackageName, čím určíte názov zostavy v priečinku obsahujúcom definíciu balíčka.

    Get-CrmPackages –PackageDirectory [ExtractedLocation]\tools –PackageName SampleCRMPackage.dll  
    
    
  3. Umiestnenie zostavy balíka možno uložiť v premennej pomocou rutiny cmdlet Get-CrmPackages. Potom sa môže znovu použiť v rutiny cmdlet Import-CrmPackage zadať hodnotu pre parameter PackageDirectory. Napríklad, môžete uložiť informácie z jedného alebo viacerých balíčkov vrátené z Get-CrmPackages cmdlet v premennej s názvom $MyPackages.

    $MyPackages = Get-CrmPackages –PackageDirectory [ExtractedLocation]\tools   
    

    Na zobrazenie všetkých balíčkov.

    $MyPackages  
    

    Na zobrazenie iba tretieho balíčka.

    $MyPackages[2].PackageAssemblyLocation  
    

    Potom môžete použiť každý balík v poli od 0 až n. Napríklad táto rutina cmdlet importuje prvý balík nájdený v $MyPackages.

    Import-CrmPackage -CrmConnection $CRMConn -PackageDirectory $MyPackages[0].PackageAssemblyLocation  
    

Na pripojenie sa k inštancii Dynamics 365 for Customer Engagement použite cmdlet

  1. Zadajte svoje poverenia na pripojenie k vašim aplikáciám Dynamics 365 for Customer Engagement alebo inštancii aplikácií Dynamics 365 for Customer Engagement (lokálne). Spustením nasledujúceho príkazu budete vyzvaní na zadanie svojho používateľského mena a hesla potrebného na pripojenie k inštancii Customer Engagement. Uložíme ho v premennej $Cred a neskôr použijeme na pripojenie k serveru Dynamics 365 for Customer Engagement.

    $Cred = Get-Credential  
    
  2. Použite nasledovný príkaz na získane pripojenia k aplikáciám Dynamics 365 for Customer Engagement alebo k inštancii Dynamics 365 for Customer Engagement (lokálne). Údaje o pripojení uložíme do premennej $CRMConn:

    • Ak sa pripájate k inštancii aplikácií Dynamics 365 for Customer Engagement (lokálne):

      $CRMConn = Get-CrmConnection -ServerUrl http://<your_CRM_Server> -OrganizationName <your_Org_Name> -Credential $Cred  
      
    • Ak sa pripájate k serveru Dynamics 365 for Customer Engagement:

      $CRMConn = Get-CrmConnection -DeploymentRegion NorthAmerica –OnlineType Office365 –OrganizationName <your_Org_Name> -Credential $Cred  
      

      Poznámka

      Pre parameter DeploymentRegion sú platné hodnoty NorthAmerica, EMEA, APACSouthAmerica, Oceania, JPN a NorthAmerica2. Pre parameter OnlineType sú platné hodnoty Office365 a LiveID.

  3. Poskytnuté poverenia sa overia pri spustení príkazu v kroku 2.

Pomocou rutiny cmdlet nasaďte balíčky

V ďalšom kroku použite informácie pripojenia aplikácií Customer Engagement uložené v premennej $CRMConn na nasadenie balíkov do inštancie Customer Engagement. Nasledujúci príkaz nasadí balík, rozloží ho v priečinku c:\UnpackedFiles a zaznamená informácie do súboru denníka v priečinku c:\MyLogFiles.

Import-CrmPackage –CrmConnection $CRMConn –PackageDirectory c:\CRM\SDK\Tools\PackageDeployer –PackageName SampleCRMPackage.dll –UnpackFilesDirectory c:\UnpackedFiles -LogWriteDirectory C:\MyLogFiles -Verbose  

Poznámka

  • Parametre CrmConnection, PackageDirectory a PackageName sú povinné.

  • Namiesto toho manuálne zadanie priečinka balíka, môžete použiť premennej s parametrom PackageDirectory. Ďalšie informácie: Použitie rutiny cmdlet na načítanie balíkov

  • Pre parameter PackageName musíte zadať meno zostavy, ktorá obsahuje definíciu balíčka.

  • Parameter UnpackFilesDirectory nemusíte zadať, ak balíček počas svojho nasadzovania nerozbalí súbory. Pri definovaní balíčka v Visual Studio zadajte, či sa majú súbory rozbaliť pomocou parametra agentdesktopzipfile v súbore ImportConfig.xml. Ďalšie informácie: Vytvorenie balíkov pre nástroj CRM Package Deployer

  • Parameter Verbose je voliteľný a používa sa na zobrazenie podrobného denníka aktivít vykonaných počas nasadzovania balíčka

  • Voliteľný parameter RuntimePackageSettings môže byť použitý spolu s nasledujúcimi parametrami:

    • Parameter LCID=localeID určuje identifikácia miestneho nastavenia, napríklad 1033 English-Spojené štáty americké alebo 1036 French-Francúzsko, z dostupných ID jazykov v balíku. Ak nie je zadaný, použije sa predvolený jazyk.
    • SkipChecks=true/false parameter by sa mal použiť len pri cieľovom prostredí, ktoré neobsahuje žiadne iné riešenia ani prispôsobenia. Ak je hodnota áno, importovanie riešenia obíde niektoré bezpečnostné kontroly, ktoré môžu zlepšiť výkon.
  • Priečinok, ktorý určíte, že pri použití LogWriteDirectoryparameter musí už existovať, a používateľ, ktorý spustil rutinu cmdlet Import-CrmPackage musí mať právo zapisovať do priečinka. Parameter Verbose navyše je vyžadovaný pri použití parametra LogWriteDirectory.

    LogWriteDirectory parameter bol prvýkrát predstavený s Aplikácie Dynamics 365 for Customer Engagement, verzia 9.0. Ďalšie informácie: Príručka pre vývojárov aplikácie Dynamics 365 for Customer Engagement

Nasledujúci príkaz Importuje súbor s názvom SampleCRMPackage a English – Spojené štáty americké (1033) nastaví ako jazyk importovaného balíčka.

Import-CrmPackage –CrmConnection $CRMConn –PackageDirectory c:\CRM\SDK\Tools\PackageDeployer –PackageName SampleCRMPackage.dll –UnpackFilesDirectory c:\UnpackedFiles –RuntimePackageSettings LCID=1033  

Získajte podrobnú pomoc o rutinách cmdlet

V okne PowerShell pomocou rutiny cmdlet Get-Help s názvom rutiny zobrazte podrobného pomocníka pre túto rutinu. Podrobného pomocníka pre rutinu cmdlet Import-CrmPackage napríklad získate takto:

Get-Help Import-CrmPackage -full  

Na zobrazenie online pomocníka pre cmdlets, si prečítajte časť Referencia PowerShell pre aplikácie Dynamics 365 for Customer Engagement.

Riešenie problémov s nasadením balíčka pomocou súborov denníka

Nástroj Package Deployer poskytuje podporu zapisovania do denníka s cieľom získania podrobných informácií o chybách, ktoré môžu nastať, ak sa niekto prihlási do inštancie služby Microsoft Dynamics 365 for Customer Engagement pomocou nástroja a začne nasadzovať balíky. Nástroj predvolene vytvorí tri súbory denníka, ktoré sú dostupné v nasledujúcom umiestnení v počítači, na ktorom nástroj spustíte: c:\Users\<meno_používateľa> \AppData\Roaming\Microsoft\Microsoft Dynamics CRM Package Deployer\<verzia>. Ak chcete zadať iný priečinok, použite – LogWriteDirectory PowerShellcmdlet parameter. Ďalšie informácie: Použitie rutiny cmdlet na načítanie balíkov

  • Login_ErrorLog.log: Poskytuje údaje o problémoch, ktoré nastali pri prihlásení do inštancie Customer Engagement pomocou nástroja. Ak počas prihlásenia nastanú problémy, na prihlasovacej obrazovke nástroja sa zobrazí správa s odkazom na tento súbor denníka. Správa oznámi, že chyba nastala pri spracúvaní požiadavky o prihlásenie a že používateľ môže zobraziť chybový denník. Ak chcete zobraziť súbor denníka, kliknite na odkaz v správe. Súbor denníka sa vytvorí v nástroji pri prvom vyskytnutí akéhokoľvek problému pri prihlásení. Potom sa súbor denníka používa na zápis údajov o problémoch s prihlásením vždy, keď nastanú.

  • PackageDeployer.log: Poskytuje podrobné údaje o každej úlohe vykonanej v nástroji počas nasádzania balíkov. Súbor denníka môžete v nástroji zobraziť kliknutím na odkaz Zobraziť súbor denníka v spodnej časti obrazovky.

  • ComplexImportDetail.log: Poskytuje podrobné údaje o importovaných údajoch pri poslednom nasadení pomocou nástroja. Pri každom nasadení balíčka pomocou tohto nástroja sa existujúce podrobnosti zo súboru denníka presunú do súboru s názvom ComplexImportDetail._old.log v rovnakom adresári, a súbor ComplexImportDetail.log zobrazí údaje o najnovšom importe vykonanom týmto nástrojom.

Najlepšie postupy nasadzovania balíčkov

Pri nasadzovaní balíčkov musia správcovia Customer Engagement:

  • Trvať na podpísanej zostave balíčka, aby mohli zostavu vysledovať späť k zdroju.

  • Otestovať balíček na predprodukčnej inštancii (podľa možnosti zrkadlový obraz produkčnej inštancie) pred spustením na produkčnom serveri.

  • Zálohovať produkčnú inštanciu pred nasadením balíčka.

Pozrite tiež

Vytvorenie balíkov pre nástroj CRM Package Deployer