Continuous integration 使用Jenkins/jetty进行自动部署

Continuous integration 使用Jenkins/jetty进行自动部署,continuous-integration,jenkins,Continuous Integration,Jenkins,我想建立一个持续集成环境,在提交源代码后,它会触发一个构建过程,该过程将检查代码、运行测试、构建war文件并将其部署到jetty server,以便用户/测试人员可以在浏览器上访问应用程序 这可能吗 我使用maven和jetty(我不愿意改变这一点。我使用jetty进行开发和生产)。对于CI,我正在探索Jenkins,但对其他开源解决方案持开放态度 如果可能,我如何设置环境。这绝对是可能的。在以前的项目中,构建服务器(teamcity)将war复制到构建服务器和应用服务器之间的共享nfs位置,并

我想建立一个持续集成环境,在提交源代码后,它会触发一个构建过程,该过程将检查代码、运行测试、构建war文件并将其部署到jetty server,以便用户/测试人员可以在浏览器上访问应用程序

这可能吗

我使用maven和jetty(我不愿意改变这一点。我使用jetty进行开发和生产)。对于CI,我正在探索Jenkins,但对其他开源解决方案持开放态度


如果可能,我如何设置环境。

这绝对是可能的。在以前的项目中,构建服务器(teamcity)将war复制到构建服务器和应用服务器之间的共享nfs位置,并运行一个连接到应用服务器并重新启动jetty的小shell脚本

我们在maven中使用ant来管理部署,我记得我们使用了拷贝和任务


我确信还有很多其他的解决方案,但那一个对我们有效。

我发现了一个名为cargo的maven插件。它有我需要的一切。我将其添加到pom中,以便使用mvn cargo:deploy/mvn cargo:undeploy进行部署和取消部署。我创建了一个新的jenkins作业,并将undeploy、PackageDeployMaven目标添加为构建步骤。一切都很好。

我看过很多这样的帖子,但我想要一些独立于maven的东西。看这里,这是哈德逊/詹金斯的独立跑步者。您只需要“war”,甚至不需要手动安装码头

谢谢你的帮助。我决定使用简单的“scp”命令将WAR复制到服务器上。cargo插件不起作用,太复杂,没有任何价值。你能发布你的例子吗?您是否为部署创建了单独的模块?您是在该模块级别还是在根级别执行“mcn货物:部署”?该项目只有一个web模块。即使有多个模块…我只需要确保web模块可以自己编译,然后只在web模块上使用cargo。