我正在尝试自动化工程组的构建过程.作为自动化的一部分,我试图达到这样的程度,即应用符合模式的特定标记的行为将启动一个自动化过程,该过程将执行以下操作:
查看源代码
从模板创建构建脚本
建立项目
我很确定我可以用subversion中的post-hook做到这一点,但是我试图想办法用一个不同于subversion钩子的东西来做这件事.
是否有必要监视subversion存储库中的tags目录以启动我的工作流程?
是否有任何有用的工具可以帮助解决这个问题(如果可能,.NET会很棒).
我最好只写一个引擎来做这件事吗?
我的偏好:
完成全部或部分工作的现有产品
如果需要进行开发工作,.NET更可取
适用于Windows(我们有一个基于Linux的仓库,但是所有都在Windows上进行构建)
ksclarke.. 8
我用Hudson完成了这个.在常规的subversion checkout插槽中,我有一个checkout for trunk:
http://dryad.googlecode.com/svn/trunk/dryad
然后作为第一个构建操作,我有一个"执行shell",并在该shell中使用svn开关更改为存储库中的最新标记:
svn switch http://dryad.googlecode.com/svn/tags/'svn ls http://dryad.googlecode.com/svn/tags | 尾巴-n 1'ringad
下一个构建步骤是maven'clean install'命令,它使用标记版本的代码启动构建.
我还没弄明白如何让Hudson从最新的标记版本开始,而不是必须进行切换,但是交换机可以工作.然后,您可以在更新标记目录时触发.
它是自动化的...有点像kludge,但它有效......
开关应该包含第二个svn命令的反引号,但必须使用'因为反引力没有显示在这里.
我用Hudson完成了这个.在常规的subversion checkout插槽中,我有一个checkout for trunk:
http://dryad.googlecode.com/svn/trunk/dryad
然后作为第一个构建操作,我有一个"执行shell",并在该shell中使用svn开关更改为存储库中的最新标记:
svn switch http://dryad.googlecode.com/svn/tags/'svn ls http://dryad.googlecode.com/svn/tags | 尾巴-n 1'ringad
下一个构建步骤是maven'clean install'命令,它使用标记版本的代码启动构建.
我还没弄明白如何让Hudson从最新的标记版本开始,而不是必须进行切换,但是交换机可以工作.然后,您可以在更新标记目录时触发.
它是自动化的...有点像kludge,但它有效......
开关应该包含第二个svn命令的反引号,但必须使用'因为反引力没有显示在这里.
我喜欢哈德森 - 很容易设置和开箱即用的SVN.
您可以将其配置为在每次提交时构建.
我下载了它,并在一天内开始使用它.它经历了很多调整,但我会推荐给任何人.
我也使用了巡航控制,但对此并不满意.除了跨平台问题,我没有任何具体原因.
编辑
我最近在我的hudson构建服务器上添加了一个工作,该服务器监听google/gmail jabber聊天.我可以使用这种机制"推广"一个"常规"构建到发布版本.我刚刚创建了一个新工作,它完成了将私有构建升级到发布候选版本所需的步骤.