我正在尝试配置 Hudson,以便能够自动将构建(.war 文件)部署到 Tomcat。然后,新部署的构建将被某人用来测试应用程序。
我尝试使用部署插件自动部署 .war 文件,这有效。但是,构建 .war 文件的作业将在每次 scm 更改后(每当提交代码时)运行。使用部署插件,每次构建时都会将 .war 文件部署到 Tomcat。由于代码频繁提交,这意味着 Web 应用程序也会频繁重新启动,这将中断测试过程。
我很欣赏 Hudson 运行我的单元测试并定期进行构建,所以我不想更改这项工作的触发器。
我正在寻找一种可以手动决定从 Hudson 内部部署的方法。我尝试创建一个单独的作业来部署第一个作业中的 .war,但这不起作用。有没有人有设置类似这样的东西的经验?
神器获得方法
请看“如何回滚或重新部署以前的构建” 在部署插件页面 http://wiki.hudson-ci.org/display/HUDSON/Deploy+Plugin。它描述了基本思想。它使用复制神器插件 http://wiki.hudson-ci.org/display/HUDSON/Copy+Artifact+Plugin将工件从构建作业复制到当前作业(部署作业)。从那里您可以执行与构建步骤中相同的操作。
如何触发部署
启动部署后无法触发构建作业,因此首先运行构建,然后运行部署作业。所以有几个选择:
-
手动触发构建。启动部署的用户需要选择构建作业的特定运行。
-
预定部署这可能是夜间任务的一部分。该作业会在一定的时间间隔(例如每天晚上或每个周末)触发。由于它是自动化的,部署作业应该获取最后一次成功的构建(那么您不需要参数化作业)。您没有机会传递运行号码。
- 部署作业得到每次构建成功完成时触发(不符合您的要求,但列出以完成列表)
- Some 其他(深奥的)触发器。这可以有很多不同的想法,例如通过调用构建 URL 远程触发。该呼叫可以来自您的票务系统、测试实验室管理系统或您喜欢的任何其他系统之一。您还可以通过源代码控制系统中的特定更改来触发部署,例如更改版本号(例如,在提交消息中用关键字标记)。该触发器可以在 Hudson 内部或外部实施。还有其他可用的触发器。这包括但不限于 html 页面更改、文件系统受监控部分的更改、IM 消息、电子邮件。前三个是由 Hudson 插件实现的。查看插件列表,了解哪些是可用的
或者在这两种情况下,您都需要确保构建作业存档部署所需的所有工件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)