Đây là một dòng msdeploy cmd tôi đã sử dụng để đồng bộ hóa một archivedir được tạo ra từ một hậu xây dựng bước trong tập tin Windows Service.proj
tôi.
Nó đang đồng bộ hóa từ máy chủ xây dựng của tôi với máy chủ ứng dụng của tôi trên một mạng khác. Tôi có các bước xây dựng trước và sau để bắt đầu và dừng các dịch vụ trên máy chủ từ xa. Bạn phải bọc kịch bản lệnh PowerShell trong tập lệnh vb do lỗi với PowerShell và msdeploy. Tùy chọn -verbose
rất hữu ích.
Tôi cũng có tập lệnh vbscript và ps1 bên dưới. Hãy cẩn thận với giấc ngủ VB và thời gian chờ msdeploy trước và sau.
msdeploy -verb:sync -source:archivedir=\\qa-xxxxx1.qa.lan\deployment\backups\FreddieMacDelivery\FreddieMacDelivery.zip,tempAgent='True',computerName=qa-xxxxx1.qa.lan,userName=QA\xxxxx,password=xxxx,authtype=NTLM,includeAcls='False' -dest:dirpath=\\qa-xxxxxx1.qa.lan\protk\Services\FreddieMacDelivery\1.4.1.test -useCheckSum -verbose -preSync:runCommand="cscript.exe c:\temp\stop_win_svc.vbs" -postSync:runCommand="c:\temp\start_win_svc.vbs",waitInterval=15000,waitAttempts=1
VB script:
Option Explicit
Dim oShell, appCmd,oShellExec
Set oShell = CreateObject("WScript.Shell")
appCmd = "powershell.exe -NoLogo -NoProfile -NonInteractive -ExecutionPolicy Unrestricted -Command ""&c:/temp/Get_Win_SVC.ps1"" "
Set oShellExec = oShell.Exec(appCmd)
WScript.Sleep 1000
oShellExec.StdIn.Close()
Powershell kịch bản:
$username = 'QA\xxxxx'
$password = 'xxxxx'
$cred = New-Object System.Management.Automation.PSCredential -ArgumentList @($username,(ConvertTo-SecureString -String $password -AsPlainText -Force))
(Get-WmiObject -computer qa-xxxx1.qa.lan -Credential $cred Win32_Service -Filter "Name='ProTeck.FreddieMac.DeliveryService'")
$svc = (Get-WmiObject -computer qa-xxxxx1.qa.lan -Credential $cred Win32_Service -Filter "Name='ProTeck.FreddieMac.DeliveryService'")
Write-Host $svc
$svc.InvokeMethod("StartService", $null)
(Get-WmiObject -computer qa-xxxxx1.qa.lan -Credential $cred Win32_Service -Filter "Name='ProTeck.FreddieMac.DeliveryService'")> c:\temp\win_stat_post.txt
tôi sẽ rất quan tâm đến giải pháp những gì bạn đã đến về vấn đề này. –
Thật không may, chúng tôi đã hết thời gian để tìm một giải pháp, nhưng tôi hy vọng sớm trở lại chủ đề này. – Andy
Cuối cùng tôi đã đăng một bài đăng trên blog về cách chúng tôi kết thúc việc này: http://www.jamescrowley.co.uk/2011/09/05/deploying-windows-services-using-msdeploy/ –