Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
oleh Owais Shaikh
Web Deploy V3.0 dikirim dengan cmdlet PowerShell untuk melakukan sebagian besar tugas yang didukung oleh WEB Deploy API [Microsoft.Web.Deployment]. Anda dapat membaca selengkapnya tentang API ini di sini. Cmdlet ini berada di snapin bernama WDeploySnapin3.0 yang diinstal dan terdaftar sebagai snapin pada penginstalan umum atau lebih tinggi dari penyebaran web. Untuk menggunakan cmdlet ini, tambahkan snapin setiap kali konsol PowerShell dimulai atau tambahkan snapin ke profil PowerShell yang akan membuat semua konsol secara otomatis memuat snapin.
Untuk menambahkan saat konsol PowerShell dimuat, jalankan perintah berikut di jendela konsol:
Add-PSSnapin WDeploySnapin3.0
Untuk menambahkannya ke profil PowerShell:
- Jika Anda sudah memiliki profil PowerShell, buka langkah 4.
- Buat folder WindowsPowerShell di bawah <Dokumen> Saya.
- Membuat file yang disebut Microsoft.PowerShell_profile.ps1
- Tambahkan baris ini ke file profil PowerShell: 'Add-PSSnapin WDeploySnapin3.0'
Beberapa poin yang perlu diperhatikan:
- Konsol PowerShell berjalan dalam sistem 64 bit pada 64 bit dan berjalan di .Net 2.0 kecuali hingga Windows8. Jika Anda menghadapi masalah karena salah satu atau kedua hal ini, lihat bagian pemecahan masalah untuk solusi.
- Semua cmdlet yang membuat paket Web Deploy membuat parameter untuk tugas yang paling umum dan cmdlet yang menggunakannya menerima nilai parameter.
- Hanya ada satu cmdlet penghapusan untuk menghapus situs atau aplikasi di bawahnya.
- Web Deploy memiliki parameter tetapi ortogonal dengan parameter cmdlet PowerShell. Ketika parameter dirujuk dalam dokumen ini, parameter cmdlet tersirat. Parameter Web Deploy telah secara khusus dipanggil sebagai parameter Web Deploy.
I. Terbitkan File Pengaturan
Semua cmdlet yang diberikan di bawah ini memiliki kemampuan untuk mengeksekusi terhadap artefak jarak jauh seperti server jarak jauh atau database jarak jauh. Ini membutuhkan lebih dari sekadar kredensial. Misalnya, Anda memerlukan nama server jarak jauh, database jarak jauh string koneksi, apakah Anda ingin mengizinkan penerbitan ke server dengan sertifikat pengujian, dll. Untuk kemudahan penggunaan, transfer informasi kredensial dari admin server ke konsumen dll. jenis file baru telah berasal dari grup mana pengaturan ini bersama-sama. File ini disebut file pengaturan penerbitan yang berakhiran .publishsettings. Ini digunakan oleh Visual Studio untuk penerbitan serta oleh WebMatrix.
Untuk dapat membuat file seperti itu untuk dikonsumsi oleh cmdlet lain dan mengeditnya cmdlet New-WDPublish Pengaturan dapat digunakan. Jika tidak ada nama file yang ditentukan, itu akan membuat file baru di direktori dokumen Anda dengan nama <guid.publishsettings> baru. Jalur ini akan ditampilkan ketika file dibuat. Jika nama file ditentukan dan file tidak ada, itu akan dibuat seperti yang dijelaskan di atas dalam folder yang ditentukan oleh jalur, namun jalur ke file harus valid. Jika file hanya ada nilai untuk atribut yang Anda tentukan saat menjalankan perintah akan dimodifikasi, kecuali untuk atribut dalam file yang tidak diketahui dan akan dihapus
Contoh: Contoh ini mendapatkan objek kredensial lalu meneruskannya ke cmdlet file pengaturan publikasi baru bersama dengan parameter lain
$cred = Get-Credential
New-WDPublishSettings -ComputerName owais-1 -Site Site1 -Credentials $cred -AllowUntrusted -SiteUrl "https://www.mywebsite.com" -FileName C:\pprofiles\mywebsite.publishsettings -AgentType wmsvc
Get-WDPublishSettings cmdlet allows to load values from a publish setting file into PublishSettings object.
$publishsettings=Get-WDPublishSettings C:\pprofiles\mywebsite.publishsettings
II. Cadangan
Semua cmdlet cadangan memiliki parameter posisi (ini adalah yang kedua kecuali untuk backup-wdserver di mana itu adalah parameter posisi pertama) yang disebut output. Ini mengambil jalur ke folder tempat Anda ingin cadangan dibuat. Pencadangan selalu merupakan paket zip Web Deploy. Anda dapat membaca lebih lanjut tentang Paket Penyebaran Web di Penyedia Paket. Jika tidak ada jalur yang ditentukan, cadangan dibuat dalam folder bernama 'Web Deploy Backups' di bawah folder dokumen pengguna. Cadangan diberi nama machinename_nameofproviderused_[Siteorapporfoldername(Opsional)]_timestamp.zip.
Semua cmdlet ini akan berfungsi secara lokal secara default kecuali informasi server jarak jauh disediakan dengan meneruskan file pengaturan penerbitan untuk parameter SourcePublish Pengaturan.
J. IIS
Semua cmdlet IIS akan bekerja melawan IIS versi 7 yang diinstal atau lebih tinggi
1. Server
Backup-WDServer
Deskripsi: Ini tanpa argumen apa pun mencadangkan server saat ini tempat perintah ini dijalankan. Ini menggunakan penyedia server web terkenal untuk operasi ini. Oleh karena itu paket yang dibuat berisi semua artefak yang akan terkandung dalam paket webserver. Anda dapat membaca selengkapnya tentang penyedia ini di sini.
Parameter Cmdlet: Parameter ConfigOnly memungkinkan Anda mengecualikan semua konten sementara parameter SkipFileList dan SkipFolderList memungkinkan Anda untuk secara selektif mengecualikan satu atau beberapa file atau folder dari paket.
Contoh:
Ini akan mencadangkan semua server web kecuali untuk konten:
Backup-WDServer -SourcePublishSettings c:\profiles\myserver.publishsettings -ConfigOnly
Buat daftar file yang harus dilewati. Ini adalah ekspresi reguler standar.
$list = @('\\site2\\iisstart.htm','\\site2\\welcome.png')
Backup-WDServer –SkipFileList $list
Anda juga dapat mengubah ini untuk melewati semua file di bawah site2 dengan mengubah daftar menjadi $list=@('\site2\')
2. Situs
Backup-WDSite
Deskripsi: Ini akan mencadangkan situs IIS bersama dengan pengaturan dan kontennya menggunakan penyedia apphostconfig. Anda dapat membaca selengkapnya tentang penyedia ini di sini.
Parameter Cmdlet: Nama situs yang ditentukan oleh parameter situs atau oleh file pengaturan penerbitan dicadangkan. Nilai parameter situs mengesampingkan spesifikasi pengaturan penerbitan untuk nama situs.
ConfigOnly dapat digunakan untuk membuat cadangan tanpa konten. Jika situs menggunakan kumpulan aplikasi non-default, maka untuk membuat paket ini berfungsi di server lain yang mungkin tidak memiliki kumpulan aplikasi yang sama, gunakan parameter switch includeAppPool. Ini akan memaketkan kumpulan aplikasi ke dalam paket.
Parameter Web Deploy yang dihasilkan secara otomatis: Dua jenis parameter dibuat:
- Parameter untuk memungkinkan pengguna mengubah nama situs tempat cadangan situs akan diterapkan.
- Parameter lain untuk memungkinkan pengguna mengubah jalur fisik situs dan setiap aplikasi web di bawah situs tersebut.
Jadi jika saya memiliki situs dengan tiga aplikasi di bawah saya akan mendapatkan 4 parameter jalur fisik terpisah dan satu parameter nama situs.
Contoh:
Backup-WDSite "Default Web Site" -ConfigOnly
Backup-WDSite MySite –IncludeAppPool
Backup-WDSite MySite -SkipFileList $list
3. Aplikasi Web
Backup-WDApp
Deskripsi: Ini akan mencadangkan aplikasi web menggunakan penyedia iisApp. Baca selengkapnya tentang penyedia ini di sini. Berikut adalah artikel bagus yang menjelaskan apa itu aplikasi web dan apa perbedaan antara situs, aplikasi, dan direktori virtual di IIS.
Parameter Cmdlet: Nama aplikasi yang ditentukan oleh parameter aplikasi atau dengan file pengaturan penerbitan dicadangkan. Jika tidak ada yang ditentukan, kesalahan akan muncul. Nilai parameter aplikasi mengambil alih spesifikasi pengaturan penerbitan untuk nama situs. Parameter SkipFileList dan SkipFolderList memungkinkan Anda untuk secara selektif mengecualikan satu atau beberapa file atau folder dari paket.
Parameter Penyebaran Web yang dibuat secara otomatis: Parameter untuk mengubah nama aplikasi atau situs selama pemulihan atau penginstalan dibuat.
$list = @('\\iisstart\.htm')
Backup-WDApp "Default web site/app" -SkipFileList $list
B. Database
1. MSSql
Backup-WDSqlDatabase
Deskripsi: Ini akan mencadangkan Microsoft SQL Server Database menggunakan penyedia dbfullsql. Penyedia ini menggunakan SMO untuk membuat skrip database dan mengekspos lebih dari 100 pengaturan penyedia untuk mengontrol cara database diskrip. Ini tercakup secara rinci di sini.
Parameter Cmdlet: String koneksi yang ditentukan oleh parameter Database atau SQLServerDB Koneksi ionString dalam file pengaturan penerbitan dicadangkan. Nilai parameter database mengambil alih spesifikasi pengaturan penerbitan untuk SQLServerDB Koneksi ionString. Pengaturan penyedia yang diekspos oleh penyedia dbfullsql ini dapat diteruskan menggunakan parameter Source Pengaturan. Salah satu pengaturan yang sangat umum digunakan adalah scriptdropsfirst yang skripnya jika ada objek menghilangkan skrip objek. Pengaturan penyedia lain dari opsi skrip SMO adalah mengatur scriptdata ke false untuk hanya mengekstrak skema.
Parameter Web Deploy yang dihasilkan secara otomatis: Parameter dibuat untuk mengubah database string koneksi selama pemulihan atau penginstalan
Contoh:
New-WDPublishSettings -ComputerName serverName -MSSqlConnectionString "Data Source=localhost;Initial Catalog=MyDb;User id=MyDbUser;Password=MyPassword" -FileName d:\SQLdb.PublishSettings -Credential serverName\Administrator
Backup-WDSQLDatabase -SourcePublishSettings D:\SQLdb.PublishSettings
Backup-WDSQLDatabase -Database "Data Source=localhost;Initial Catalog=MyDb;User id=MyDBUser;Password=MyPassword" -SourceSettings @{ copyAllUsers='false'; scriptDropsFirst='true'; }
2. MySql
Backup-WDMySQLDatabase
Deskripsi: Ini akan mencadangkan Database Server MySql menggunakan penyedia dbmysql. Penyedia ini menggunakan mysqldump untuk membuat skrip database. Ini tercakup secara rinci di sini.
Parameter Cmdlet: String koneksi yang ditentukan oleh parameter Database atau mySQLDB Koneksi ionString dalam file pengaturan penerbitan dicadangkan. Nilai parameter database mengambil alih spesifikasi pengaturan penerbitan untuk mySQLDB Koneksi ionString. Pengaturan penyedia dapat diteruskan menggunakan parameter Source Pengaturan. Pengaturan yang umum digunakan adalah includeData dan includeSchema. Secara default ini diatur ke true.
Parameter Web Deploy yang dihasilkan secara otomatis: Parameter dibuat untuk mengubah database string koneksi selama pemulihan atau penginstalan
New-WDPublishSettings -ComputerName serverName -MySqlConnectionString "Data Source=localhost;database=MyDb;Uid=MyDbUser;pwd=MyPassword" -FileName d:\MySQLdb.PublishSettings -Credential serverName\Administrator
Backup-WDMySQLDatabase -Database 'Server=localhost;Database=MyDb;Uid=MyDbUser;pwd=MyPassword’
Backup-WDMySqlDatabase –SourcePublishSettings d:\mysqldb.publishsettings
III. Pulihkan
Semua cmdlet pemulihan mengambil paket Web Deploy untuk dipulihkan sebagai parameter posisi pertama.
WebDeploy mendukung konsep parameterisasi paket, yang memungkinkan Anda mengubah beberapa aspek selama pemulihan (tanpa memodifikasi paket). Misalnya selama pemulihan, Anda dapat memilih untuk menentukan nilai database string koneksi yang berbeda dari apa yang ada di dalam paket menggunakan parameter WebDeploy (Anda harus memiliki parameter string koneksi yang ada dalam paket.)
Bergantung pada bagaimana paket dibuat, paket Web Deploy mungkin memiliki satu atau beberapa parameter. Cmdlet pemulihan ini memeriksa paket dan menambahkan parameter PowerShell dinamis ke koleksi. Jadi jika paket memiliki parameter Web Deploy bernama "Parameter1" maka Anda akan menemukan parameter PowerShell dengan nama "Parameter1". Namun parameter dinamis memiliki masalah mereka sendiri di PowerShell dan ini hanya akan berfungsi jika paket tidak memiliki ruang dalam namanya atau di jalur ke file.
Atau, semua cmdlet pemulihan ini juga memiliki parameter "Parameter" yang memungkinkan Anda menentukan nilai parameter baru secara manual selama pemulihan. Parameter "Parameter" ini mengambil objek Kamus PowerShell untuk pasangan nilai nama parameter Web Deploy.
Untuk mengetahui parameter Web Deploy yang ditentukan dalam paket Web Deploy, Anda cukup membuka file zip di Windows Explorer dan memeriksa file parameters.xml yang ada di akar paket. Parameter Web Deploy apa pun yang tidak memiliki nilai default atau nilai memerlukan nilai yang akan ditentukan. Tambahkan semua parameter ini dalam file xml dan teruskan sebagai nilai untuk parameter ParameterValuesFile. Anda dapat membuat file ini seperti yang diberikan di sini atau secara manual. Formatnya adalah
<parameters>
<setParameter name="name1" value="value1" />
<setParameter name="name2" value="value2" />
</parameters>
Cmdlet Get-WDParameters dapat membaca file ini dan mengonversinya menjadi objek parameter WebDeploy (kamus), yang diterima oleh semua cmdlet pemulihan.
Jika ada paket yang dipulihkan tanpa menentukan nilai untuk parameter di dalamnya, perilaku default akan menimpa sumber daya tempat paket awalnya dibuat. Misalnya jika saya membuat paket dari situs1 menggunakan situs backup-wdsite1, maka ketika saya memulihkan paket ini menggunakan cmdlet pemulihan tanpa memberikan nilai apa pun ke parameter dalam paket ini, site1 akan ditimpa dengan apa pun paket yang berisi, konten, serta konfigurasi. Hal yang sama berlaku untuk semua cmdlet pemulihan.
Semua cmdlet ini dipulihkan secara lokal kecuali ketika file pengaturan penerbitan tujuan ditentukan, dalam hal ini operasi persis yang sama akan terjadi terhadap server jarak jauh melalui Layanan Manajemen Web (WMSvc) atau layanan Agen Penyebaran Web.
J. IIS
1. Server
Restore-WDServer
Deskripsi: Memulihkan paket server web. Penggunaan umum adalah mencadangkan server sebelum membuat perubahan dan jika terjadi kegagalan, server dapat dikembalikan dengan menerapkan paket cadangan Web Deploy yang dibuat sebelum membuat perubahan.
$folderList = @(‘\\app_data’)
Restore-WDServer D:\OWAIS-1_WebServer_20120419121214.zip -DestinationPublishSettings c:\destinationServer.publishSettings –SkipFolderList $folderList
2. Situs
Restore-WDSite
Deskripsi: Memulihkan paket Situs IIS. Jika paket memiliki dua parameter bernama "Jalur Fisik Situs" dan "Nama Situs" mereka akan diekspos sebagai parameter powershell dinamis SitePhysicalPath dan SiteName. Perintah ini akan membuat situs baru1 dengan jalur c:\site1fisik . Jika tidak ada nilai yang ditentukan untuk parameter ini, pemulihan akan berlaku untuk situs dan konten yang sama, menimpa perubahan apa pun yang mungkin Anda miliki di situs.
Parameter: Anda mungkin ingin menggunakan skipfolderlist dan skipfilelist untuk mengecualikan beberapa folder dan/atau file agar tidak disalin dalam konten situs.
Restore-WDSite C:\defaultsite.zip -SitePhysicalPath c:\site1 -SiteName site1
Restore-WDSite -Package 'D:\Users\Administrator\Documents\Web Deploy Backups\IIS-Server_AppHostConfig_Default Web Site_20120417100827.zip' -skipFolderList @('App_Data') -verbose
3. Aplikasi
Restore-WDApp
Deskripsi: Ini akan memulihkan aplikasi web. Backup-WDApp membuat paket dengan satu parameter untuk mengubah nama aplikasi pada waktu penginstalan. Ini dapat digunakan untuk memulihkan aplikasi ke aplikasi lain selama pemulihan. Situs harus ada saat menyebarkan ke aplikasi di bawah situs. Aplikasi akan dibuat oleh paket ini tetapi situs tidak akan dibuat.
Contoh:
Restore-WDApp C:\myappbackup.zip -ApplicationPathParam1 "Default web site\app1"
B. Database
Restore-WDDatabase
Deskripsi: Jika database tidak ada, ini akan membuat database baru yang disebut pelanggan (selama pengguna saat ini memiliki izin untuk operasi ini) dan menjalankan skrip di dalamnya. Jika ini dijalankan tanpa nilai apa pun untuk parameter Penyebaran Web dinamis, database asli tempat paket ini dibuat akan ditimpa. Perhatikan bahwa jika pengaturan scriptDropsFirst tidak digunakan saat membuat paket, maka penerapan ke database dengan konten yang ada yang bertentangan akan gagal. Cmdlet ini dapat digunakan untuk memulihkan cadangan MSSql atau MySQL. Anda hanya dapat memulihkan database MS SQL dengan cadangan yang dibuat menggunakan database Backup-WDSQLDatabase dan My SQL dengan cadangan yang dibuat menggunakan Backup-WDMySqlDatabase.
Contoh:
Backup-WDSqlDatabase "server=.\sqlexpress;integrated security=SSPI;database=customers" "C:\dbbackup.zip"
Restore-WDDatabase c:\dbbackup.zip –DatabaseConnectionStringParam1 "server=.\sqlexpress;integrated security=SSPI;database=customers_copy"
Backup-WDMySqlDatabase "server=localhost;uid=someuser;pwd=somepwd;database=coolDb" "C:\dbbackup.zip"
Restore-WDDatabase c:\dbbackup.zip –DatabaseConnectionStringParam1 "server=localhost;uid=someuser;pwd=somepwd;database=coolDb_copy"
C. Paket Generik
Restore-WDPackage
Deskripsi: Cmdlet ini dapat digunakan untuk menerapkan paket Web Deploy apa pun. Ada beberapa cara untuk membuat atau mendapatkan paket Web Deploy, seperti dengan mengunduh paket Sumber terbuka Application Gallery, membuat paket di Visual Studio, menggunakan alat baris perintah msdeploy.exe (info lebih lanjut), atau menggunakan cmdlet Backup-WD* yang dicatat sebelumnya dalam dokumen. Misalnya untuk menginstal wordpress di situs web Default Server IIS sebagai aplikasi bernama wordpress unduh paket wordpress dari galeri aplikasi ke dalam folder yang disebut paket. Semua nilai default untuk parameter paket wordpress akan berfungsi apa adanya tetapi hanya perlu menentukan nilai untuk dua parameter yang diperlukan: kata sandi mysql admin dan non admin.
Parameter:
Restore-WDPackage c:\Packages\wordpress.zip -DBAdminPassword mysecretserverpassword –DBPassword mysqllocalpassword
IV. Hapus
Remove-WDSite -Site NonWorkingSite
Perintah ini akan menghapus situs bernama definisi nonworkingsite di applicationHost.config serta konten direktori situs
V. Dapatkan & Atur Kerangka Kerja Kumpulan Aplikasi
Cmdlet ini memungkinkan Anda membaca dan mengubah versi kerangka kerja .net apppool.
Get-WDAppPoolFx "default web site"
managedRuntimeVersion
---------------------
v2.0
Set-WDAppPoolFx "default web site" -AppPoolFrameworkVersion v4.0
Get-WDAppPoolFx "default web site"
managedRuntimeVersion
---------------------
v4.0
VI. Atur WDACL
Cmdlet ini dapat digunakan untuk mengatur acl pada konten situs. Misalnya, katakanlah saya memiliki situs, site1 dan saya mencoba memberikan pengguna u1 akses baca.
Pertama saya memeriksa izin saat ini.
$ret = Get-Acl C:\site1
$ret.Access
I don’t see u1 in the list. Let me give the user u1 access as follows
Set-WDAcl "site1" -SetAclUser u1
Check whether this worked
$ret = Get-Acl C:\site1
$ret.Access
I see that u1 has been given read access as below. [I have not pasted the other permissions on this folder. Just the u1 part]
FileSystemRights : Read, Synchronize
AccessControlType : Allow
IdentityReference : MOSHAIKH1\u1
IsInherited : False
InheritanceFlags : ContainerInherit, ObjectInherit
PropagationFlags : None
VII. Gunakan
Anda dapat memanggil perintah atau skrip pada sistem jarak jauh menggunakan destinationpublishsettings dan melihat hasil eksekusi jarak jauh secara real time. Anda harus menjadi admin pada sistem jarak jauh untuk dapat menjalankan penyedia runcommand dari jarak jauh. Anda dapat membaca selengkapnya tentang penyedia ini di sini. Waktu maksimum default MWD Api menunggu skrip atau perintah yang diberikan selesai adalah 5 detik. Jika Anda ingin meningkatkan waktu eksekusi ini, Anda dapat menentukan nilai yang lebih tinggi untuk waitInterval dan waitAttempts seperti yang ditunjukkan pada contoh di bawah ini.
J. Skrip
Invoke-WDScript C:\my.cmd –Verbose
Ini akan menjalankan skrip dan Anda akan dapat melihat output perintah jika Anda menjalankannya dengan verbose.
B. Perintah
$settings = @ { waitInterval = 3000; waitAttempts = 25;}
Invoke-WDCommand "dir c:\mydirectory /s/b" -DestinationSettings $settings
Ini akan menjalankan perintah dan tidak ada output yang akan ditampilkan karena verbose tidak ditentukan. Namun ini akan menunggu selama 3 detik antara setiap selang waktu dan akan melakukan 25 iterasi menunggu. Secara keseluruhan, eksekusi proses akan berlanjut paling lama selama 75 detik.
VIII. Sinkronisasi
Cmdlet ini mengambil sumber dan tujuan dan menyinkronkan di antara mereka. Sumber tidak pernah dimodifikasi. Alasan saya menggunakan sumber kata alih-alih klien adalah karena klien dan server adalah istilah yang sangat membingungkan dalam sinkronisasi. Anda berpotensi menyinkronkan server lokal dengan server jarak jauh. Dalam hal ini server jarak jauh adalah sumber dan server lokal adalah tujuannya. Atau Anda dapat menjalankan cmdlet PowerShell pada komputer 1 dan menyinkronkan mesin 2 dan 3. Untuk menggunakan sumber jarak jauh dan / atau tujuan, Anda perlu menyediakan file pengaturan penerbitan yang dapat dibuat menggunakan cmdlet pertama yang disebutkan dalam dokumen ini. Semua cmdlet sinkronisasi juga mendukung parameter sumber Pengaturan dan tujuan Pengaturan untuk dapat mengatur pengaturan penyedia secara selektif untuk sumber atau tujuan atau keduanya.
J. IIS
1. Server
Saya ingin menyinkronkan dua server IIS 7.5, Owais-1 dan Owais-2. Saya pertama-tama akan membuat file publishsettings untuk masing-masing dan kemudian menyinkronkan server. Karena saya tidak menentukan kredensial saya, ini akan berhasil jika saya adalah admin pada dua sistem tersebut.
New-WDPublishSettings -ComputerName owais-1 -AgentType MSDepSvc -FileName c:\owais1.publishsettings
Publish settings file created at: 'c:\owais1.publishsettings'.
New-WDPublishSettings -ComputerName owais-2 -AgentType MSDepSvc -FileName c:\owais2.publishsettings
Publish settings file created at: 'c:\owais2.publishsettings'.
Sync-WDServer -SourcePublishSettings c:\owais1.publishSettings -DestinationPublishSettings c:\owais2.publishSettings
2. Situs
Dalam perintah berikut, situs2 akan dibuat jika tidak ada dan saya juga telah mengubah jalur fisik (konten dengan demikian akan disalin ke folder c:\site2baru ) dan pengikatan situs.
Sync-WDSite site1 Site2 -SitePhysicalPath c:\site2 -SiteBinding "*:8078:" -IncludeAppPool
3. Aplikasi
Saya memiliki aplikasi yang berjalan di bawah situs web default. Saya ingin memindahkan ini di bawah Site1. Perintah berikut akan melakukannya.
Sync-WDApp "Default Web Site/drupal" "site1/drupal"
Sekarang setelah saya menguji aplikasi drupal baru saya, saya akan menghapus aplikasi drupal asli di bawah situs web default.
Remove-WDSite "Default Web Site/drupal"
B. Database
Cmdlet sebelumnya telah menunjukkan bagaimana Anda dapat mencadangkan dan memulihkan database menggunakan paket Web Deploy, namun Anda juga dapat menyinkronkan database ke atau dari skrip .sql atau menyinkronkan langsung ke instans database lain menggunakan cmdlet Sync-WDSQLDatabase dan Sync-WDMySQLDatabase.
1. MSSql
Sync-WDSQLDatabase "server=.\sqlexpress;uid=sa;pwd=********;database=umbracodb" "server=.\sqlexpress;uid=sa;pwd=************;database=sometestdb"
Ini akan membuat database baru yang disebut sometestdb (jika belum ada) dan menyinkronkan skema dan data.
Sync-"server=.\sqlexpress;uid=sa;pwd=********;database=umbracodb" c:\umbraco.sql
Ini akan membuat skrip database umbracodb ke dalam umbraco.sql pada jalur yang diberikan di atas.
2. MySql
Sync-WDMySQLDatabase "server=localhost;uid=root;pwd=********;database=wordpress265" "server=localhost;uid=root;pwd=************;database=wordpress265_new"
Ini akan membuat database baru yang disebut wordpress265_new (jika belum ada) dan menyinkronkan skema dan data.
Sync-WDMySQLDatabase "server=localhost;uid=root;pwd=***************;database=wordpress265" c:\wordpress.sql
Ini akan membuat skrip database wordpress265 ke dalam wordpress.sql pada jalur yang diberikan di atas.
C. Segala sesuatu yang lain
Untuk sinkronisasi tujuan umum yang tidak dicakup oleh cmdlet lain yang diberikan di atas, Anda dapat menggunakan cmdlet Sync-WDManifest. Ini adalah sinkronisasi penyedia manifes umum yang didukung oleh API MWD. Baca lebih lanjut mengenai hal tersebut di sini. Manifes adalah kumpulan penyedia, jalur penyedia, dan pengaturan penyedia dalam file xml. Strukturnya adalah bahwa simpul akar file xml dianggap sebagai nama penyedia untuk tujuan sinkronisasi saat ini. Oleh karena itu tidak dapat menjadi nama salah satu penyedia terkenal seperti yang diberikan dalam daftar di sini. Kemudian dapat memiliki simpul anak dengan nama elemen yang cocok dengan penyedia yang ingin Anda sertakan dalam sinkronisasi. Atribut jalur mewakili jalur penyedia tersebut dan wajib. Kemudian tambahkan pasangan nilai atribut untuk setiap pengaturan penyedia yang ingin Anda manfaatkan untuk operasi sinkronisasi saat ini.
Cmdlet ini membutuhkan dua manifes: Satu untuk sumber dan satu untuk tujuan. Manifes selalu dijalankan dalam urutan yang ditentukan. Jika penyedia mendukung operasi penerapan seperti penyedia apphostconfig yang berfungsi dengan Situs IIS, penerapan tidak dipanggil kecuali sinkronisasi selesai. Oleh karena itu, jika Anda memiliki penyedia yang mengharapkan situs ada setelah penyedia yang membuatnya, maka ini akan gagal karena situs belum diterapkan. Dalam contoh berikut, saya akan menyinkronkan aplikasi dan menyertakan database yang digunakan aplikasi bersama dengannya dalam manifes.
Manifes Sumber:
<demoManifest>
<iisApp path="Site1" />
<dbfullsql path="server=.\sqlexpress;integrated security=SSPI;database=customers" />
</demoManifest>
Manifes Tujuan:
<demoManifest> <iisApp path="Site2" /> <dbfullsql path="server=.\sqlexpress;integrated security=SSPI;database=customers_demo_cpy" /></demoManifest>Sync-WDManifest C:\sourceManifest.xml C:\destManifest.xmlWARNING: Cannot connect to the database 'customers_demo_cpy'.Retrying operation 'Add' on object dbFullSql (server=.\sqlexpress;uid=sa;database=customers_demo_cpy). Attempt 1 of 5.Manifest : C:\sourceManifest.xmlManifest-Dest : C:\destManifest.xmlTimeTaken : 0:10Errors : 0Warnings : 0BytesCopied : 0ObjectsDeleted : 0ObjectsUpdated : 0ObjectsAdded : 3TotalChanges : 3ParameterChanges : 0