这是事情。我有一些 jenkins 管道作业,用于部署一些 java 后端应用程序。管道由来自 SCM 的脚本运行。此脚本是获取开发团队代码的脚本,并且:
1- checkout 该代码
2-编译和创建WAR
3- 将 war 复制到 Web 服务器。
现在,开发人员想要实现回滚,并且如果运行了一项作业,并且新的部署已完成但失败了,他们希望返回到上一个运行良好的部署。
有没有办法在 jenkins 中做到这一点,例如使用 Jfrog artifactory?我们已经配置了 artifactory,我们可以将 WARS(或其他文件)上传到该仓库,但没有被使用。我不知道如何实现这一点。我在想对不同的 WAR 文件使用标签,如果部署失败,从工作正常的最新 WAR 中获取?这可能吗?如何使用 artifactory 在 jenkins 中完成这种方法。我可以在创建 WAR 后实现一个新步骤,然后将该 WAA 上传到 artifactory,但是我如何将其与 jenkins 连接以使用我想要的 WAR?关于如何做到这一点的任何建议?
谢谢你!
最佳答案
我建议你这些方法:
没有Artifactory
在这种情况下,您只需要参数化当前管道以接收分支名称或标记作为参数。
工作流程可能是:
使用 Artifactory 或一些 Artifact Repository
在这种情况下,您需要采用软件版本控制策略。
阅读此来源:
在最简单的模式下,您只需要构建 war 的增量发布版本。 Spring 版本的工作方式类似:
https://mvnrepository.com/artifact/org.springframework/spring-core
例如:
其他类似技术
关于jenkins 回滚以前的部署版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52722666/