2016-03-22 2 views
1

Ich verwende VSO kontinuierlich zu Azure bereitstellen.Starten Sie einen Auto-Swap in Azur mit TFS

Ich habe drei Steckplätze:

  • Staging (für automatisierte Tests)
  • AutoSwap (wenn die Version der automatisierten Tests in der Inszenierung geht, wird es zu AutoSwap eingesetzt) ​​
  • Production (Wenn AutoSwap eingesetzt wird Es wird automatisch mit Produktion ausgetauscht).

Das Problem ist, dass meine Installationen verwenden FTP getan (ich kann es nicht anders, weil es eine Asp.net-Core 1.0 App ist), so dass, wenn ich auf AutoSwap einsetzen, ist es nicht als eine tatsächliche Stationierung erfasst, so Bei der Produktion wird kein automatischer Tausch vorgenommen.

Meine Frage: Gibt es einen Powershell-Befehl, den ich von der TFS-Task aufrufen kann, um das automatische Swapping zu starten? (Ein Befehl, um zum Beispiel zu sagen, dass eine Bereitstellung durchgeführt wurde, die ich aufrufen kann, wenn der FTP-Upload beendet ist)?

EDIT Ich habe festgestellt und versucht, dies aber es tut einfach nichts (es nicht ausfällt):

Schalter-AzureWebsiteSlot -Name "MyApp" -Slot1 "Produktion" -Slot2 "AutoSwap" - Force

+0

MS bietet eine Möglichkeit zur Bereitstellung von Asp.net Core App mit Web-Bereitstellung von VSTS, die Sie ausprobieren möchten: https://msdn.microsoft.com/de-de/library/vs/alm/build/azure/deploy-aspnet5 –

+0

Ich habe verwendet, um dies zu implementieren, aber es funktioniert noch nicht für RC2, und mit FTP und Powershell habe ich das Gefühl von Freiheit und Wissen genau was passiert hinter den Kulissen. – yeska

Antwort

0

Das Problem war, dass ich dieses Dienstprogramm bin mit den Dateien per FTP hochladen:

https://marketplace.visualstudio.com/items?itemName=januskamphansen.ftpupload-task

In seinem code gibt es diese Zeile, die kommentiert werden sollte, um azurblaue Befehle in den folgenden Tasks nicht zu blockieren:

[System.Net.ServicePointManager] :: ServerC ertificateValidationCallback = {$ CurrentSession.ignoreCert}

Jetzt funktioniert alles gut, ich brauchte eine Woche, um es zu finden, ich hoffe, dass diese Antwort Zeit für jemanden spart.

0

Versuchen Sie, die Move-AzureDeployment zu verwenden, die die Bereitstellungen in Produktion und Bereitstellung wechselt.

Parameter Set: Default 
Move-AzureDeployment [-ServiceName] <String> [ <CommonParameters>] 

Weitere Details können Sie den Link von MSDN beziehen: Move-AzureDeployment

Hinweis: Dies gilt nur für Cloud-Services, Web-Anwendungen nicht. Der Unterschied zwischen Web APP und Cloud-Service: Web App vs Cloud Service

aktualisiert

Diese Online durch die azurblauen Powershell-Skript Lasten von VSO verursacht wird, kann nicht Swap-Steckplatz unterstützt. Versuchen Sie, das Azure-Powershell-Modul zu entfernen, und importieren Sie ein anderes.

Siehe Antwort von Ryan P in diesem MSDN Link: https://social.msdn.microsoft.com/Forums/windows/en-US/0f30b76b-7954-4558-a10d-6a2b6635765a/switchazurewebsiteslot-does-not-work-in-vso-online

+0

Vielen Dank für Ihre Antwort, aber ich habe eine Web-App ... – yeska

+0

Dies kann durch die azure Powershell-Skript lädt von VSO Online verursacht nicht unterstützt Swap-Slot. Bitte sehen Sie meine aktualisierte Antwort. –

+0

ich versucht, dies zu setzen, bevor die Schalter-AzureWebsiteSlot aber es half nicht: Remove-Module Azure Import-Module „C: \ Program Files (x86) \ Microsoft SDKs \ Azure \ Powershell \ Servicemanagement \ Azure \ Azure .psd1 " – yeska

Verwandte Themen