我正在尝试配置Hudson,以便我能够自动将构建(.war文件)部署到Tomcat。然后,某人将使用新部署的构建来测试应用程序。
我已尝试使用Deploy Plugin自动部署.war文件,这样可行。但是,构建.war文件的作业将在每次scm更改后运行(无论何时提交代码)。使用Deploy Plugin,每次构建时都会将.war文件部署到Tomcat。由于代码经常被提交,这意味着Web应用程序也会频繁重启,这将中断测试过程。
我很欣赏Hudson运行我的单元测试并定期进行构建,所以我不想改变这项工作的触发器。
我正在寻找一种可以手动决定从Hudson内部部署的方法。我尝试创建一个单独的工作,从第一份工作部署.war,但这没有用。有没有人有任何经验设置这样的东西?
答案 0 :(得分:7)
查看Deploy Plugin Page上的“如何回滚或重新部署以前版本”部分。它描述了基本思想。它使用Copy Artifact Plugin将构建作业中的工件复制到当前作业(部署作业)。从那里开始,你就像在构建步骤中那样做了。
启动部署后,无法触发构建作业,以便首先运行构建,而不是部署作业。所以有几个选择:
答案 1 :(得分:1)
每个项目我有几个哈德森工作:
mvn package -DskipTests
构建项目并在tomcat上部署战争的部署作业我发现将这些事情分开会更容易,只有第一份工作会听取SCM的变化。
然而,另一种方法是让第3个工作也听SCM(但间隔时间更长,可能是一小时)。