配置Hudson以部署构建

8 continuous-integration tomcat hudson continuous-deployment

我正在尝试配置Hudson,以便我能够自动将构建(.war文件)部署到Tomcat.然后,某人将使用新部署的构建来测试应用程序.

我已经尝试使用Deploy Plugin自动部署.war文件,这很有效.但是,构建.war文件的作业将在每次scm更改后运行(无论何时提交代码).使用Deploy Plugin,每次构建时都会将.war文件部署到Tomcat.由于代码经常被提交,这意味着Web应用程序也会频繁重启,这将中断测试过程.

我很欣赏Hudson运行我的单元测试并定期进行构建,因此我不想更改此工作的触发器.

我正在寻找一种方法,我可以手动决定从Hudson内部署.我尝试创建一个单独的作业,将从第一个作业部署.war,但这不起作用.有没有人有任何经验设置这样的东西?

Pet*_*tze 7

如何获取工件

请查看Deploy Plugin页面上的" 如何回滚或重新部署以前的版本 "部分.它描述了基本思想.它使用Copy Artifact Plugin将构建作业中的工件复制到当前作业(部署作业).从那里开始,您在构建步骤中执行的操作与此相同.

如何触发部署

启动部署后,无法触发构建作业,以便首先运行构建,而不是部署作业.所以有几个选择:

  • 手动触发构建.启动部署的用户需要选择构建作业的特定运行.
  • 预定部署这可能是夜间任务的一部分.工作会在一定时间间隔内触发(如每晚或每个周末).由于它是自动化的,因此部署作业应该获取最后一次成功构建(然后您不需要参数化作业).您没有机会传入运行编号.
  • 每次构建成功时都会触发部署作业(不符合您的要求,但列出以完成列表)
  • 其他一些(深奥的)触发器.这可以是许多不同的想法,例如通过调用构建URL远程触发.电话会议来自您的票务系统,测试实验室管理系统或您喜欢的任何其他系统.您还可以通过源控制系统中的特定更改来触发部署,例如更改版本号(例如,在提交消息中标记为关键字).该触发器可以在Hudson内部或外部实现.还有其他触发器可用.这包括但不限于html页面更改,文件系统的受监视部分的更改,IM消息,电子邮件.前三个是由Hudson插件实现的.查看插件列表,了解所有内容是否可用.或者在这两种情况下,您需要确保构建作业存档部署所需的所有工件.