感觉像持续集成的普及,这应该是一块蛋糕,但我很难过。我正在与HG建立TeamCity。我希望能够将变更集推送到TeamCity监视和运行基于更改的存储库。这很容易。TeamCity + HG。只有拉(推?)传递版本
接下来,如果构建通过,我希望该变更集被拉入“干净”存储库......一个仅包含传递变更集的库。应该很容易,但...
TeamCity 6支持多个构建步骤,如果任何步骤失败,其余的不运行。我的想法是在最后建立一个构建步骤,执行pull(或可选地推送?)以将传入的变更集导入干净的存储库。
我想使用PsExec在存储库的框上运行hg。
如果我尝试运行一个普通的'hg pull',它找不到hg.exe,即使它设置在路径中并且我已经使用了-w标志。
我已经尝试把一个.bat文件放在干净的存储库中,它需要一个修订参数,它在本地工作正常。当我尝试远程运行.bat文件(使用PsExec)时,它运行得很好,但它试图在构建代理上运行它。即使我设置了-w参数,它也会在那里运行.bat文件,但是会尝试运行构建代理框中的内容。
我只是在我的方法?似乎这是一个非常明显的事情,要么我的Google技能正在减弱,要么没有人认为这是值得写的。无论哪种方式,我被困在SVN的土地试图脱身,所以我希望得到一些帮助!
这工作实际上让它运行... ish。 – 2010-12-12 05:44:09
然后你应该把这个标记为答案......是的。关于它的是什么? – 2010-12-12 07:13:34
对不起......在发布这个帖子后,昨天晚上试图这么做,但是在发布后,Stack下降了大约30秒的维护时间。 :)我必须确保TeamCity服务在有权访问远程框的帐户下运行。我坚持的唯一的事情是,如果使用-d运行psexec,它将返回它启动的PID的退出代码。如果你在没有-d的情况下运行它,它会无限期地挂起。不幸的是,TeamCity依赖于0的退出码来确定合格/不合格。感谢您的提示,但它实际上运行了批处理文件,这就是我所坚持的。 – 2010-12-12 19:00:48