2016-07-14 3 views
0

Ich habe ein super einfaches Skript, das Schlitze auf einer Site in Azure tauschen soll.Azure Site Slot Swap von Teamcity

Es beruht auf den azurblauen Werkzeugen.

swap.ps1

& "C:\Program Files (x86)\Microsoft SDKs\Azure\PowerShell\ServiceManagement\Azure\Services\ShortcutStartup.ps1" 

Import-AzurePublishSettingsFile -PublishSettingsFile "mysubsettings.publishsettings" 
Switch-AzureWebsiteSlot -Name "mysite" -Slot1 "staging" -Slot2 "production" -Force 

Wenn ich das von der Konsole (powershell swap.ps1) alles ausführen funktioniert perfekt.

Wenn ich ausführen dieses in Teamcity ich:

[Step 1/1] PowerShell Executable: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe 
[10:05:45][Step 1/1] Working directory: C:\TeamCity\buildAgent\work\3de96e708f2408e 
[10:05:45][Step 1/1] PowerShell arguments: [-NonInteractive, -ExecutionPolicy, ByPass, -File, swap.ps1] 
[10:05:47][Step 1/1] For a list of all Azure cmdlets type 'get-help azure'. 
[10:05:47][Step 1/1] For a list of Windows Azure Pack cmdlets type 'Get-Command *wapack*'. 
[10:05:49][Step 1/1] Import-AzurePublishSettingsFile : The term 'Import-AzurePublishSettingsFile' 
[10:05:49][Step 1/1] is not recognized as the name of a cmdlet, function, script file, or operable 
[10:05:49][Step 1/1] program. Check the spelling of the name, or if a path was included, verify 
[10:05:49][Step 1/1] that the path is correct and try again. 

Es ist wie es ist nicht das azurblaue Power richtig geladen, aber ich kann nicht herausarbeiten, warum dies (vor allem gegeben werden konnte er den Ausgang von den azur Werkzeuge hat, Zeilen 4,5)

Ich habe versucht, Datei-und Quellcode-Optionen mit den gleichen Ergebnissen zu verwenden.

Irgendwelche Ideen, warum das exakt gleiche Skript in der Konsole, aber nicht in Teamcity laufen würde?

+0

Könnte es mit der "Bitness" der Powershell-Version zu tun haben, die Sie unter TeamCity ausführen? In TeamCity gibt es eine Dropdown-Liste, in der Sie x86 oder x64 auswählen können. Abhängig von der verwendeten Version können Module geladen werden oder nicht. Nur eine Vermutung. –

+0

@DavidBrabant Ich habe versucht, es schien nicht zu beeinflussen –

+0

Ist es in der Konsole auf der Maschine läuft der eigentliche Build-Agent installiert ist? Was ist in dem Shortcut-PowerShell-Skript? –

Antwort

0

So fand ich das Problem aus, Ich bin nicht sicher, warum es auf Teamcity isoliert wurde, aber das Problem war, mit diesem zu tun:

Es ist ein bekanntes Problem mit Powershell $ env: PSModulePath die auftreten kann bei der Installation von WebPI. Wenn Ihr Computer aufgrund von Systemupdates oder anderen Installationen einen Neustart erfordert, kann es dazu führen, dass Updates $ env: PSModulePath den Pfad nicht enthalten, in dem Azure PowerShell installiert ist. Wenn dies der Fall ist, sehen Sie möglicherweise eine Meldung "cmdlet not recognized" , wenn Sie versuchen, Azure PowerShell-Cmdlets nach der Installation oder Aktualisierung zu verwenden. In diesem Fall sollte das System neu gestartet werden, um das Problem zu beheben. richtig

https://azure.microsoft.com/en-us/documentation/articles/web-sites-staged-publishing/

Als ich arbeitete die Maschine alles Teamcity neu gestartet.

Verwandte Themen