我在Jenkins
上安装了Deploy Plugin
,以便自动将Maven
内置war
个软件包部署到Tomcat 7
。问题是,只有在使用部署插件的同一作业中创建插件时,我才能使用插件部署到远程Tomcat服务器。换句话说,我无法设置一个独立的工作来部署由不同工作制作的工件。
例如,我有一个名为 pack.foo 的工作。它使用 / var / lib / project / module 中的源代码创建 module.war 并将其放在 / var / lib / project / module / target中。但是,由于Maven版本设置,在pack.foo的工件页面上发布的工件类似于 module-2.0.0-SNAPSHOT.war 。
我能够部署module.war的唯一方法是,如果我向pack.foo添加Post-build Action
并指定** / module.war为远程Tomcat管理器URL(前提是我有经理的凭据)在詹金斯配置)。然后作业的控制台输出记录/var/lib/project/module/target/module.war已部署到该URL:
Deploying /var/lib/project/module/target/module.war to container Tomcat 7.x Remote with context
[/var/lib/project/module/target/module.war] is not deployed. Doing a fresh deployment.
Deploying [/var/lib/project/module/target/module.war]
如何使用此或其他插件来部署在单独的Jenkins作业中生成的WAR工件?我想为工件创建和部署分别创建工作。该插件没有找到** / module-2.0.0-SNAPSHOT.war甚至** / module.war由另一个作业构建,即使磁盘上肯定有一个匹配该模式的文件。
答案 0 :(得分:1)
请参阅您关联的Deploy Plugin's page上的段落:
如何回滚或重新部署以前的版本
可能有几种方法可以实现这一目标,但这里有一个建议的方法:
- 安装Copy Artifact Plugin
- 创建一个仅在需要时手动触发的新作业
- 使用类型为&#34的构建参数;为复制工件构建选择器"以及使用"由构建参数"指定的复制工件构建步骤来配置此作业;选择构建。
- 添加构建后操作以部署从其他作业复制的工件
醇>现在,当您触发此作业时,您可以输入内部版本号(或使用任何其他可用的选择器)来选择要重新部署的内部版本。感谢Helge Taubert这个想法。