来自CC.net的Powershell任务

时间:2011-03-09 16:52:25

标签: powershell cruisecontrol.net build

如何将构建参数和环境变量传递给cc.net的PowerShell脚本

我在这里看到了文档:http://build.nauck-it.de/doc/CCNET/PowerShell%20Task.html

如果我有像

这样的函数,目前还不清楚语法应该是什么
Function Concat([String] someEnviromentVariable1,[String] someEnviromentVariable2 ,[String] abuildArg1, [String] abuildArg2 )
{
 ///stuff happens
}

我可以执行以下操作:

<powershell>
<script>dosomething.ps</script>
<executable>C:\program Files\PowerShell\PowerShell.exe</executable>
<scriptsDirectory>C:\Scripts</scriptsDirectory>
<buildArgs>-abuildArg1=2 -abuildArg2=3</buildArgs>
<environment>
<variable name=" someEnviromentVariable1"/>
<variable name=" someEnviromentVariable2"/>
</environment>
<successExitCodes>1,2,3</successExitCodes>
<buildTimeoutSeconds>10</buildTimeoutSeconds>
<description>Example of how to run a PowerShell script.</description>
</powershell>

1 个答案:

答案 0 :(得分:0)

看起来您必须创建一个包装调用函数的脚本。换句话说,在C:\Scripts目录中创建一个看起来像

的文件“dosomething.ps”
Concat $env:someEnviromentVariable1 $env:someEnviromentVariable2 $args

请注意,这假设Concat函数在运行时属于脚本范围。您可以通过将其包含在powershell profile中,或者通过“在脚本本身中获取点数来实现此目的:

. .\scriptThatContainsConcatDefinition.ps1
Concat $env:someEnviromentVariable1 $env:someEnviromentVariable2 $args