Teamcity - generate artifact from Powershell

I am using the Powershell build step and want to generate a file and include it in artifacts. Here is what I tried, but it does not appear:

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

I did a similar thing in the metaunner, and everything worked out just fine. Why not here?

+4
source share
1 answer

The problems were three times.

  • The last Powershell line should look like this:

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

  • I did not include remotehack.testsettings / remotehack.testsettings as an artifact dependency

  • In the "General Settings" section, I did not include the "Path to the artifact file" in the "Remote Host Settings" section.

.

0

All Articles