在Cruise Control中使用多个命令参数

时间:2016-07-26 15:02:52

标签: c# cruisecontrol.net

我一直在尝试使用Git为项目创建一个构建,我需要执行多个git命令作为参数,我可以获取已修改文件的列表并将它们作为zip放置在下面是配置代码段

<exec>
        <executable>C:\Program Files (x86)\Git\bin\git.exe</executable>
        <baseDirectory>C:\myprojectC</baseDirectory>
        <buildArgs>archive -o update.zip HEAD $(git diff --name-only master)</buildArgs>        
</exec>   

任何人都可以帮我改变。

1 个答案:

答案 0 :(得分:0)

如果您使用config preprocessor进行巡航控制,那么$是一个特殊字符,它对预处理器有意义,但它可以转义:

\$是您需要使用的转义序列,因此允许您通过在命令提示符中执行的巡航控制执行完全相同的命令。

因此,您可以使用以下内容:

<exec>
 <executable>C:\Program Files (x86)\Git\bin\git.exe</executable>
 <baseDirectory>C:\myprojectC</baseDirectory>
 <buildArgs>archive -o update.zip HEAD \$(git diff --name-only master)</buildArgs>      
</exec>