Frage

Wir haben eine Website, die Ereignisse mit NServiceBus veröffentlicht. Die Seite wird mit MSDeploy eingesetzt. Wir haben auch die NServiceBus.exe, die als Windows-Dienst ausführen sollen, um diese Ereignisse zu abonnieren, und wir möchten implementieren das auch.

Gibt es eine Möglichkeit, den Service sowie die Website zu verpacken, so dass es auch installiert werden kann? Ist es möglich, separat zu verpacken, so dass wir es auf einem anderen Server bereitstellen können?

Irgendwelche Tipps, wo Informationen zu finden, wie dies zu tun wäre toll, wie wir jetzt automatisierte Installationen für die Website tun können.

War es hilfreich?

Lösung

Ich habe vor kurzem dies mit MSDeploy, Phantom und installutil.exe

Sie müssen nur im Grunde Ihre Installer-Klasse ändern und Ihre Remote-WMSVC Service Rechte zu erhöhen, wenn nötig.

Link

Andere Tipps

Was wir Liquidation tun war die Schaffung eines ‚Controller‘ Schicht, dass Koordinaten Bereitstellungsaufgaben, auch eine, die MSDeploy nutzen könnten. Im Wesentlichen ist MSDeploy nicht die höchste Stufe der Abstraktion in unserem Einsatzsystem.

Wir entscheiden uns für MSBuild zu verwenden, um diese Aufgaben der Bereitstellung von Artikeln aus einem ‚Paket‘ zu koordinieren.

In unserem Deployment-Prozess, eine Web-Anwendung mit MSDeploy eingesetzt ist nur ein weiterer Einsatz Element, wie ein Windows-Dienst ist.

In allen Offenlegung haben wir eigentlich nicht noch MSDeploy Deployment-Aufgaben erstellt, obwohl es sollte / würde fallen in gut zu dem, was wir bereits erstellt haben, wie MSBuild die MSDeploy aufrufen würde. Wir haben im Moment MSBuild Community Aufgaben für Webapp Deployment Automation nutzen, über MSBuild koordiniert.

Sie können ein wenig mehr darüber lesen, wie wir ‚verallgemeinert‘ unsere Einsätze über einen Blog-Post rief ich habe „ PANDA - Verpackung und Bereitstellung Automation ".

Hier ist ein MSDeploy CMD-Leitung habe ich eine ArchiveDir zu synchronisieren, die von einem Post-Build-Schritt in meiner Windows Service.proj Datei erstellt wird.

Es ist die Synchronisierung von meinem Build-Server zu meiner App-Server auf einem anderen Netzwerk. Ich habe vor und nach dem Build-Schritte, die starten und die Dienste auf dem Remote-Server stoppen. Sie müssen den Powershell-Skript in einem VB-Skript wickeln aufgrund eines Fehler mit Powershell und MSDeploy. Die -verbose Option ist sehr hilfreich.

Ich habe auch die Vbscript und ps1-Skript unten. Seien Sie vorsichtig mit dem VB-Schlaf und die Pre-und Post MSDeploy Timeouts.

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-Skript:

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-Skript:

$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
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top