Menyebarkan paket menggunakan Dynamics CRM Package Deployer dan Windows PowerShell

 

Diterbitkan: Februari 2017

Berlaku Untuk: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Catatan

Informasi yang disediakan berikut ini adalah untuk versi Dynamics 365 sebelum Dynamics 365 (online), versi 9.0. Untuk dokumentasi terbaru, lihat menyebarkan paket menggunakan Dynamics CRM Package Deployer dan Windows PowerShell.

Package Deployer Microsoft Dynamics CRM memungkinkan administrator untuk menyebarkan paket di Dynamics 365 (lokal) atau instans Microsoft Dynamics 365 (online). "Paket" dapat terdiri dari salah satu atau semua hal berikut:

  • Satu atau beberapa file solusi Dynamics 365.

  • File tetap atau file data yang diekspor dari Alat Migrasi Konfigurasi. Untuk informasi tentang Alat Migrasi Konfigurasi, lihat Mengelola data konfigurasi.

  • Kode kustom yang dapat berjalan selama atau setelah paket disebarkan ke Microsoft Dynamics 365.

  • Konten HTML khusus paket yang dapat ditampilkan di awal dan akhir proses penyebaran paket. Hal ini dapat bermanfaat untuk memberikan keterangan solusi dan file yang disebarkan di paket.

Pengembang membuat paket dengan menggunakan template penyebaran paket di Microsoft Visual Studio.Informasi lebih lanjut: MSDN: Membuat paket untuk Package Deployer CRM

Setelah paket dibuat, Anda dapat menyebarkannya baik dengan menjalankan Penyebar Paket CRM maupun menggunakan cmdlet Windows PowerShell untuk alat bantu tersebut.

Penting

Sebelum Anda mengimpor dan menjalankan paket dalam organisasi produksi, uji paket dengan sebuah imej cerminan non-produksi dari organisasi produksi.

Cadangkan selalu organisasi produksi sebelum menggunakan paket.

Dalam topik ini

Menerapkan paket dengan menggunakan Alat Penyebar Paket

Menggunakan Windows PowerShell untuk menyebarkan paket

Mengatasi masalah penyebaran paket dengan menggunakan file log

Praktik terbaik untuk menyebarkan paket

Menerapkan paket dengan menggunakan Alat Penyebar Paket

Anda dapat menggunakan Alat Penyebar Paket (packagedeployer.exe) untuk menyebarkan paket dengan cara berikut.

Gunakan Alat Penyebar Paket untuk menyebarkan paket

Gunakan Alat Penyebar Paket di Baris perintah

Gunakan Alat Penyebar Paket untuk menyebarkan paket

Alat Penyebar Paket hanya dapat memproses satu paket sekali waktu. Namun, alat ini memberikan kemampuan kepada pengguna untuk memilih paket yang akan disebarkan dari beberapa paket yang tersedia di direktori Alat Penyebar Paket. Beberapa layar dan tindakan di alat ini berbeda berdasarkan definisi paket. Anda tidak perlu menginstal Alat Penyebar Paket. Unduh dan jalankan alat ini.

  1. Ambil paket yang akan disebarkan. Paket adalah kumpulan file dan folder yang dibuat dalam folder proyek Visual studio (<Project>\Bin\Debug) saat Anda membangun proyek paket di Visual Studio. Salin yang berikut dari folder debug proyek:

    • Folder < PackageName >: folder ini berisi solusi, konfigurasi, dan isi paket yang Anda impor.

    • <PackageName>.dll : Unit ini berisi kode untuk paket Anda. Secara default, nama unit sama dengan nama proyek Visual Studio Anda.

    Untuk informasi rinci tentang cara membuat paket menggunakan Visual Studio, lihat MSDN: Membuat paket untuk alat Package Deployer.

    Untuk topik ini, mari kita asumsikan bahwa folder paket dan unit dari folder debug proyek Visual Studio (<Project>\Bin\Debug) akan disalin ke folder c:\DeployPackage.

  2. Unduh Microsoft Dynamics CRM SDK. Kemudian jalankan file eksekusi yang telah didownload untuk ekstrak isi paket.

  3. Browse ke folder SDK\Tools\PackageDeployer, dan menyalin folder paket dan unit dari c:\DeployPackage ke folder SDK\Tools\PackageDeployer.

  4. Setelah file disalin, jalankan alat dengan mengklik dua kali file PackageDeployer.exe di folder SDK\Tools\PackageDeployer.

  5. Klik Lanjut di layar utama alat tersebut.

  6. Di layar Sambung ke Microsoft Dynamics 365, berikan rincian otentikasi untuk tersambung ke server Dynamics 365 tempat Anda ingin menyebarkan paket. Jika Anda memiliki beberapa organisasi dan ingin memilih organisasi tempat menyebarkan paket, centang kotak Selalu tampilkan daftar organisasi yang tersedia. Klik Masuk.

  7. Jika Anda memiliki beberapa organisasi, di server Dynamics 365 Anda, pilih organisasi Dynamics 365 yang Anda ingin terhubung.

  8. Pilih paket untuk digunakan, dan klik berikutnya.

    Select your package in the Package Deployer Tool

  9. Ikuti petunjuk di layar berikutnya untuk menyelesaikan penyebaran paket.

    Layar muncul berdasarkan definisi paket yang Anda pilih untuk penyebaran. Untuk penyebaran paket menyeluruh yang menggunakan Alat Penyebar Paket, lihat topik penyebaran paket Unified Service Desk: Menyebarkan sampel aplikasi Unified Service Desk ke Server CRM menggunakan Package Deployer

Gunakan Alat Penyebar Paket di Baris perintah

Administrator Sistem dan customizers dapat melewati parameter, seperti kode bahasa daerah untuk packagedeployer.exe dari baris perintah. Parameter ini mungkin hanya dikonfigurasi dengan menjalankan Alat Penyebar Paket pada baris perintah.

Catatan

Fitur ini diperkenalkan pertama kali di Pembaruan 0.1 Microsoft Dynamics CRM Online 2016.

Parameter yang tersedia di tabel ini.

Parameter

Keterangan

Nilai Default

RuntimePackageSettings

Memerintahkan packagedeployer.exe untuk menerima parameter baris perintah seperti LCID dan SkipChecks.

Tidak berlaku

LCID=localeID

Menunjukkan ID lokal, seperti 1033 untuk Bahasa Inggris AS atau 1036 untuk Perancis-Perancis, dari ID lokasi yang tersedia dalam paket. Jika tidak ditentukan, bahasa default akan digunakan.

Gunakan Bahasa Default

SkipChecks=true/false

Gunakan parameter ini hanya ketika lingkungan sasaran tidak mengandung solusi atau penyesuaian. Jika diatur ke benar, impor solusi akan melewati beberapa pemeriksaan keamanan, yang dapat meningkatkan kinerja impor.

Salah

Contoh berikut memerintahkan Penyebar Paket CRM untuk memotong beberapa pemeriksaan keselamatan dan menetapkan bahasa untuk impor ke Polandia.

packagedeployer.exe /Settings:"SkipChecks=true|lcid=1045"

Catatan

Gunakan karakter pipa | untuk memisahkan parameter ketika Anda menjalankan packagedeployer.exe pada baris perintah dengan beberapa parameter.

Untuk selengkapnya tentang parameter dan nilai-nilai yang dapat dikirimkan ke packagedeployer.exe, lihat MSDN: membuat paket untuk CRM Package Deployer.

Menggunakan Windows PowerShell untuk menyebarkan paket

Alat Penyebar Paket juga menyediakan dukungan Windows PowerShell untuk menyebarkan paket.

Lakukan langkah-langkah berikut untuk menggunakan cmdlet PowerShell untuk menyebarkan paket:

Prasyarat

Mendaftar cmdlet

Menggunakan cmdlet untuk mengambil paket

Menggunakan cmdlet untuk menyambung ke instans Dynamics 365

Menggunakan cmdlet untuk menyebarkan paket

Mendapatkan bantuan atas cmdlet secara rinci

Prasyarat

Berikut adalah prasyarat untuk menggunakan cmdlet PowerShell:

  • PowerShell 3.0 atau versi yang lebih baru diperlukan untuk menyebarkan paket menggunakan PowerShell. Untuk memeriksa versi PowerShell, jalankan jendela PowerShell, lalu jalankan perintah berikut: $Host

  • Tetapkan kebijakan eksekusi untuk menjalankan skrip PowerShell yang telah ditandatangani. Untuk melakukannya, jalankan jendela PowerShell sebagai administrator, lalu jalankan perintah berikut: Set-ExecutionPolicy -ExecutionPolicy AllSigned

Mendaftar cmdlet

Anda harus mendaftarkan cmdlet Windows PowerShell untuk Alat Penyebar Paket sebelum dapat menggunakannya. Untuk mendaftarkan cmdlet:

  1. Jika belum melakukannya, unduh paket SDK Dynamics 365 dari Pusat Unduh Microsoft, lalu jalankan file paket untuk mengekstrak konten paket. Mari kita asumsikan bahwa Anda mengekstrak paket ke folder c:\CRM di komputer.Alat Penyebar Paket dan file lain yang diperlukan akan tersedia di lokasi berikut: c:\CRM\SDK\Tools\PackageDeployer.

  2. Mulai Windows PowerShell di komputer dengan hak istimewa yang ditingkatkan (jalankan sebagai administrator).

  3. Di petunjuk, dalam jendela Windows PowerShell, ubah direktori ke folder Windows PowerShell dalam folder PackageDeployer. Dalam kasus ini:

    cd c:\CRM\SDK\Tools\PackageDeployer\PowerShell
    
  4. Jalankan skrip RegisterXRMTooling.ps1 untuk mendaftarkan asembli (dll) Windows PowerShell Package Deployer, lalu instal snap-in Windows PowerShell untuk Alat Penyebar Paket. Untuk melakukannya, ketik perintah berikut, lalu tekan ENTER:

    .\RegisterXRMTooling.ps1
    
  5. Tambahkan snap-in Windows PowerShell untuk alat XRM. Tindakan ini akan mendaftarkan cmdlet berikut: Get-CrmConnection dan Get-CrmOrganizations.

    Add-PSSnapin Microsoft.Xrm.Tooling.Connector
    
  6. Tambahkan snap-in Windows PowerShell untuk Package Deployer. Tindakan ini akan mendaftarkan cmdlet berikut: Get-CrmPackages dan Import-CrmPackage.

    Add-PSSnapin Microsoft.Xrm.Tooling.PackageDeployment
    

Kini Anda siap untuk menggunakan cmdlet Windows PowerShell. Untuk mencantumkan cmdlet yang Anda daftarkan, jalankan perintah berikut pada petunjuk di jendela Windows PowerShell:

Get-Help “Crm”

Menggunakan cmdlet untuk mengambil paket

Agar dapat menggunakan cmdlet, pastikan Anda telah menyalin paket ke folder PackageDeployer (dalam kasus ini, c:\CRM\SDK\Tools\PackageDeployer). Paket adalah kumpulan file dan folder yang dibuat dalam folder proyek Visual Studio (<Project>\Bin\Debug) saat Anda membangun proyek di Visual Studio. Salin seluruh konten folder debug proyek ke folder PackageDeployer. Untuk informasi rinci tentang cara membangun paket menggunakan Visual Studio, lihat MSDN: Membuat paket untuk alat Package Deployer CRM.

  1. Di jendela PowerShell, gunakan cmdlet berikut untuk mengembalikan daftar paket yang tersedia untuk diimpor di folder yang ditetapkan (dalam kasus ini, c:\CRM\SDK\Tools\PackageDeployer):

    Get-CrmPackages –PackageDirectory c:\CRM\SDK\Tools\PackageDeployer
    
  2. Jika memerlukan informasi tentang paket di folder, Anda dapat menggunakan cmdlet Get-CrmPackages dengan parameter –PackageName untuk menentukan nama asembli di folder yang berisi definisi paket.

    Get-CrmPackages –PackageDirectory c:\CRM\SDK\Tools\PackageDeployer –PackageName SampleCRMPackage.dll
    
  3. Lokasi asembli paket dapat disimpan dalam variabel menggunakan cmdlet Get-CrmPackages. Kemudian dapat digunakan kembali di cmdlet Import-CrmPackage cmdlet untuk menentukan nilai parameter PackageDirectory. Misalnya, Anda dapat menyimpan informasi satu atau beberapa paket yang dihasilkan dari cmdlet Get-CrmPackages dalam variabel yang disebut $MyPackages.

    $MyPackages = Get-CrmPackages –PackageDirectory c:\CRM\SDK\Tools\PackageDeployer 
    

    Untuk menampilkan semua paket.

    $MyPackages
    

    Untuk menampilkan hanya paket ketiga.

    $MyPackages[2].PackageAssemblyLocation
    

    Selanjutnya, Anda dapat mereferensikan masing-masing paket dalam larik dari 0 hingga n. UntukContoh, cmdlet ini mengimpor paket pertama yang ditemukan dalam $MyPackages.

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

    Catatan

    Parameter PackageAssemblyLocation dan kemampuan untuk menampilkan lokasi folder dan nama paket yang pertama kali diperkenalkan dengan Pembaruan Desember 2016 untuk Dynamics 365 (online dan lokal).Informasi lebih lanjut: Dynamics 365 SDK

Menggunakan cmdlet untuk menyambung ke instans Dynamics 365

  1. Berikan kredensial Anda untuk menyambung ke Microsoft Dynamics 365 (online) atau instans Dynamics 365 (lokal). Menjalankan perintah berikut akan meminta Anda memasukkan nama pengguna dan sandi untuk menyambung ke instans Dynamics 365. Kami akan menyimpannya dalam variabel $Cred dan menggunakannya nanti untuk menyambung ke Dynamics 365 server.

    $Cred = Get-Credential
    
  2. Gunakan perintah berikut untuk menyambung ke Microsoft Dynamics 365 (online) atau instans Dynamics 365 (lokal). Kami akan menyimpan informasi sambungan dalam variabel $CRMConn:

    • Jika Anda menyambung ke instans Dynamics 365 (lokal):

      $CRMConn = Get-CrmConnection -ServerUrl http://<your_CRM_Server> -OrganizationName <your_Org_Name> -Credential $Cred
      
    • Jika Anda menyambung ke server Microsoft Dynamics 365 (online):

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

      Catatan

      Untuk parameter DeploymentRegion, nilai yang valid adalah NorthAmerica, EMEA, APACSouthAmerica, Oceania, JPN, dan NorthAmerica2. Untuk parameter OnlineType, nilai yang valid adalah Office365 and LiveID.

  3. Kredensial yang Anda sediakan akan divalidasi saat Anda menjalankan perintah pada langkah 2.

Menggunakan cmdlet untuk menyebarkan paket

Gunakan informasi sambungan Dynamics 365 yang disimpan dalam variabel $CRMConn untuk menyebarkan paket ke instans Dynamics 365. Perintah berikut menyebarkan paket, membongkar paket di folder c:\UnpackedFiles, dan merekam informasi ke file log di folder c:\MyLogFiles.

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

Catatan

  • Parameter wajib adalahCrmConnection, PackageDirectory, dan PackageName.

  • Daripada secara manual menentukan folder paket, Anda dapat menggunakan variabel dengan parameter PackageDirectory.Informasi lebih lanjut: Menggunakan cmdlet untuk mengambil paket

  • Untuk parameter PackageName, Anda harus menentukan nama asembli yang berisi definisi paket.

  • Anda tidak perlu menetapkan parameter UnpackFilesDirectory jika paket tidak mengeluarkan file saat penyebaran paket berlangsung. Saat mendefinisikan paket di Visual Studio, Anda akan menentukan apakah akan mengeluarkan file menggunakan parameter agentdesktopzipfile di file ImportConfig.xml.Informasi lebih lanjut: MSDN: Membuat paket untuk Package Deployer CRM

  • Parameter Verbose bersifat opsional dan digunakan untuk menampilkan rincian log aktivitas yang dilakukan saat proses penyebaran paket berlangsung.

  • Parameter Opsional RuntimePackageSettings dapat digunakan bersama-sama dengan parameter berikut:

    • Parameter LCID=localeID menunjukkan ID lokasi, seperti 1033 untuk Bahasa Inggris AS atau 1036 untuk Perancis-Perancis, dari ID lokasi yang tersedia dalam paket. Jika tidak ditentukan, bahasa default akan digunakan.

    • Informasi

      Parameter SkipChecks=true/false ini hanya boleh digunakan ketika lingkungan sasaran tidak mengandung solusi atau penyesuaian. Jika diatur ke benar, impor solusi akan melewati beberapa pemeriksaan keamanan, yang dapat meningkatkan kinerja impor.

  • Folder yang Anda tentukan saat Anda menggunakan parameter LogWriteDirectory harus sudah ada, dan pengguna yang menjalankan cmdlet Import-CrmPackage harus memiliki izin menulis ke folder. Selain itu, parameter -Verbose diperlukan bila Anda menggunakan parameter LogWriteDirectory.

    Parameter LogWriteDirectory pertama kali diperkenalkan dengan Pembaruan Desember 2016 untuk Dynamics 365 (online dan lokal).Informasi lebih lanjut: Dynamics 365 SDK

Contoh perintah berikut akan mengimpor sebuah paket bernama SampleCRMPackage dan menentukan Bahasa Inggris AS (1033) sebagai bahasa untuk mengimpor paket.

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

Mendapatkan bantuan atas cmdlet secara rinci

Di jendela PowerShell, gunakan cmdlet Get-Help dengan nama cmdlet agar dapat menampilkan rincian bantuan untuk cmdlet. Misalnya, untuk mendapatkan rincian bantuan untuk cmdlet Import-CrmPackage:

Get-Help Import-CrmPackage -full

Untuk melihat bantuan online untuk cmdlet, lihat referensi CRM PowerShell.

Mengatasi masalah penyebaran paket dengan menggunakan file log

Alat Penyebar Paket menyediakan dukungan pendataan untuk memperoleh informasi rinci tentang kesalahan yang dapat terjadi bila seseorang masuk ke instans Microsoft Dynamics 365 menggunakan alat dan menyebarkan paket. Per default, alat ini menghasilkan tiga file log yang terdapat di lokasi berikut di komputer tempat Anda menjalankan alat: c:\Users\<UserName>\AppData\Roaming\Microsoft\Microsoft Dynamics CRM Package Deployer\<Version>. Untuk menentukan folder yang berbeda, gunakan parameter cmdlet - LogWriteDirectory PowerShellInformasi lebih lanjut: Menggunakan cmdlet untuk mengambil paket

  • Login_ErrorLog.log Menyediakan informasi tentang masalah yang terjadi saat Anda menggunakan alat untuk masuk ke instans Dynamics 365. Jika terjadi masalah saat masuk, pesan akan ditampilkan di layar masuk alat tersebut dengan tautan ke file log ini. Pesan menyatakan bahwa terjadi kesalahan saat memproses permintaan masuk dan pengguna dapat melihat log kesalahan tersebut. Anda dapat mengklik tautan di pesan untuk menampilkan file log ini. File log dibuat saat pertama kali Anda mengalami masalah masuk di alat tersebut. Setelah itu, file log digunakan untuk mendata informasi tentang masalah masuk setiap kali terjadi.

  • PackageDeployer.log: Menyediakan informasi rinci tentang setiap tugas yang dilakukan di alat saat penyebaran paket berlangsung. Anda dapat melihat file log dari alat dengan mengklik tautan Lihat File Log di bagian bawah layar.

  • ComplexImportDetail.log: Menyediakan informasi rinci tentang data yang diimpor dalam penyebaran terakhir menggunakan alat. Setiap kali Anda menyebarkan paket menggunakan alat ini, rincian yang ada dari file log akan dipindahkan ke file ComplexImportDetail._old.log di direktori yang sama, dan file ComplexImportDetail.log akan menampilkan informasi tentang impor terakhir yang dilakukan menggunakan alat tersebut.

Praktik terbaik untuk menyebarkan paket

Saat menyebarkan paket, administrator Dynamics 365 harus:

  • Menekankan pada asembli paket yang ditandatangani sehingga mereka dapat melacak asembli kembali ke sumbernya.

  • Menguji paket pada instans praproduksi (sebaiknya gambar bayangan dari instans produksi) sebelum menjalankannya di server produksi.

  • Buat cadangan instans produksi sebelum menyebarkan paket.

Lihat Juga

MSDN: Membuat paket untuk Package Deployer CRM
Mengelola Dynamics 365.

© 2017 Microsoft. Semua hak dilindungi undang-undang. Hak cipta