2016-04-22 13 views
4

Ich verwende einen Powershell-Build-Schritt und möchte eine Datei generieren und sie in die Artefakte aufnehmen. Hier ist, was ich versucht, aber es scheint nicht:Teamcity - Artefakt aus Powershell generieren

param(
[parameter(Mandatory=$true)] [string]$controller 
) 
Write-Output "Controller: $controller" 

$testsettingsXML = @" 
<?xml version="1.0" encoding="UTF-8"?> 
<TestSettings name="Remote" id="36b029f0-1e34-4c17-b7b1-3e6a0284a08e" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010"> 
    <Description>These are default test settings for a local test run.</Description> 
    <RemoteController name="$controller" /> 
    <Execution location="Remote"> 
    <TestTypeSpecific> 
     <UnitTestRunConfig testTypeId="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b"> 
     <AssemblyResolution> 
      <TestDirectory useLoadContext="true" /> 
     </AssemblyResolution> 
     </UnitTestRunConfig> 
    </TestTypeSpecific> 
    <AgentRule name="AllAgentsDefaultRole"> 
    </AgentRule> 
    </Execution> 
    <Properties /> 
</TestSettings> 
"@ 

#write the testsettings file out to disk. 
$testsettingsXML | Out-File -FilePath "./remotehack.testsettings" -Encoding utf8 

ich eine ähnliche Sache in einem metarunner tat und es funktionierte gut. Warum nicht hier?

+0

Ist es möglich, dass das Skript ps an dem Ort ausgeführt wird, den Sie ohne Set-Location erwarten würden? Was ist, wenn Sie für einen Testlauf einen vollständigen Pfad für den Dateipfad erstellen und sehen, ob die Datei angezeigt wird? –

+0

Haben Sie versucht, dieses Skript manuell auf demselben Agenten unter demselben Benutzer aufzurufen? Läuft es erfolgreich? –

Antwort

0

Die Probleme waren dreifach.

  1. letzte Zeile des Powershell haben so ausgesehen sollte:

    $ testsettingsXML | Out-File -FilePath "remotehack.testsettings" -Encoding utf8

  2. ich nicht remotehack.testsettings/remotehack.testsettings als Artifact Abhängigkeit

  3. I gehören die Artifact Path „remotehack.testsettings nicht enthalten "unter Allgemeine Einstellungen.

Ein paar Anfänger Fehler.

Verwandte Themen