这是东西。我有一些jenkins管道作业,其中部署了一些Java后端应用程序。管道由SCM的脚本运行。该脚本是获取开发团队代码的脚本,并且: 1-签出该代码 2-编译并创建WAR 3-将war复制到Web服务器。
现在,开发人员希望实施回滚,如果运行了一项作业,并且新部署完成但失败了,他们想回到上一个运行良好的状态。
在詹金斯中是否有办法做到这一点,例如使用Jfrog人工制品?我们已配置了人工产品,并且可以将WARS(或其他文件)上传到该存储库,但未使用。我不知道该如何实现。我当时在考虑将标签用于不同的WAR文件,如果部署失败,那么从可以正常工作的最新WAR中获取信息吗?这可能吗?如何用人工制品在詹金斯中完成这种方法。我可以执行一个新步骤,即在创建WAR之后,将WAA上载到工件,然后如何将tis与jenkins连接起来以使用所需的WAR?关于如何做到这一点的任何建议? 谢谢!
答案 0 :(得分:2)
我建议您采用这种方法:
在这种情况下,您只需参数化当前管道即可接收分支名称或标记作为参数。
工作流程可能是:
在这种情况下,您需要采用软件版本控制策略。 阅读此来源:
在最简单的模式下,您只需要构建战争的增量发行版。春季版本的工作方式类似:
https://mvnrepository.com/artifact/org.springframework/spring-core
例如:
答案 1 :(得分:1)
作为Artifactory的替代品,您可以使用Github发行版或Gitlab软件包,并遵循以下场景(假设使用诸如prod.build_number.short_commit_hash之类的版本控制方案):