我们正在使用 Jenkins 来构建( maven )&将工件(JAR和< * WAR * s)部署到内部工件服务器(快照和发布)。
对于部署,目前,我们获得了Jenkins作业,这些作业打包war文件(来自发行版scm标记)并部署到不同的环境/服务器。我们想跳过包装阶段,因为似乎没有必要再次打包它。再次发布版本,因为即使在尝试1000次之后也无法获得war文件的不同副本。
我们正在寻找Jenkins的方法从Artifactory获取工件(war)并将其部署到容器中。我相信其他人也会遇到这种情况,但我无法找到任何关于此的在线资料。
是否有任何Jenkins插件从Artifactory获取war文件(基于版本)并将其部署到远程容器?
如果这不是正确的做法,那么针对任何其他方法的建议是什么?
由于
答案 0 :(得分:2)
我不知道一个带有版本#并部署它的插件,但你可以构建一个Jenkins作业,将最后一个成功的版本部署到以前的环境(例如从DEV复制 - > QA。 )
为此,您将使用copy-artifact-plugin。
这是一种易于遵循此类设置的方法:
http://www.lordofthejars.com/2012/09/deploying-jee-artifacts-with-jenkins.html
答案 1 :(得分:1)
Artifactory中存储的每个工件都将具有包含版本号的唯一URL。它采用格式
http://artifactory-server/repository-name/path-to-artifact/version/filename
e.g。
http://artifactory/apps-releases-local/com/yourorg/yourapp/1.5.67/webapp.war
(取决于您的包装方式,WAR文件名也可能包含版本号)。
因此,您的部署作业可以构建Artifactory URL并下载该文件。根据您在Artifactory中设置安全性的方式,您可能需要对请求进行身份验证。