好的..我一直在搜索这个具体的问题,并找到了一些例子,但不完全是我想要的答案。任何想法,投入将不胜感激!
我的情况是......
我通过CCNet进行每日构建过程。它们在构建时都具有buildCondition =“ifModificationExists”参数。当且仅当存在修改时(检查源“更新”),这允许CCNet构建。
问题是,我在每个构建的最后部分添加了一个版本的Commit进程。这意味着,如果我要构建1.0.0.3,我将提交已更改的AssemblyInfo.cs文件(包含更新的版本号),并允许我在构建每个版本时检查日志。
这完全搞砸了整个自动化日常构建过程。你看,因为它提交了每个版本的版本,无论它是否有任何其他更新,CCNet认为在构建每个早晨之前总是有一个修改。事实上,唯一的修改是上次构建的版本更新。
我无法通过在修改存在时保持版本更新+每日自动构建来想办法解决这个问题。
有任何帮助吗? :)
编辑1.这是我的每个构建的触发器部分:
<!--TRIGGERS -->
<triggers>
<scheduleTrigger time="04:00" buildCondition="IfModificationExists" name="Scheduled">
</scheduleTrigger>
</triggers>
编辑2.这里是我使用powershell提交文件(AssemblyInfo.cs)的部分
<powershell>
<script>commit.ps1</script>
<executable>C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe</executable>
<scriptsDirectory>D:\SRC\BuildTools</scriptsDirectory>
<buildArgs>D:\SRC\ProjectName\branches\3.0.3\</buildArgs>
<description>BuildCommit Dir D:\SRC\ProjectName\branches\3.0.3\src</description>
</powershell>
提前谢谢你,
答案 0 :(得分:2)
我认为你应该能够使用过滤源控制来做你需要的事情: