一、问题产生
我们来思考下持续交付的原则。每次构建的结果可能是一个潜在的发行版本;消除手动瓶颈;尽可能自动化。这三点正是我们想要实现的,但是在实现之前,我们先来看下在典型的Maven发布流程和经典方式版本号管理上的具体问题。
1)没有自动化通常来说,一次提交会触发一个快照构建,然后生成一个快照构件(“8.1.2-SNAPSHOP”)。当开发者感觉软件到达稳定状态后,他会触发一次专用发布构建。因此,他预先分配版本号(“8.2.0”)。人员必须分配版本号然后触发发布构建。这种方式有什么缺点:(1)我们需要手动触发专用的发布工作流程;(2)版本号需要人为手动分配;(3)看版本号“8.2.0”并不清晰,比如这个版本号的构件中包含了哪些提交(代码)。我们需要一个Git标签。
2)任意快照此外,快照引起了许多问题。不清晰的内容变动。(1)不可追踪。我们不能说,有哪些提交包含在了当前的快照构件中;(3)不可靠。快照构件可以很快速的修改。这样很容易引起问题。(3)易出错。不过不注意,很容易覆盖一个快照(比如:当创建Git分支的时候,忘记修改POM文件中的版本号。从Git分支上构建会覆盖之前的快照)。
关注
打赏
热门博文
- Java基础学习总结(175)——分布式ID的9种生成方式总结
- 2016年终总结
- 青春路上,岁月如烟
- Terraform 学习总结(10)—— 阿里云平台 Terraform 代码开发技巧总结
- Terraform 学习总结(9)—— 如何解决存量云资源的管理难题
- Java基础学习总结(197)—— CompletableFuture 异常处理总结
- Kubernetes 学习总结(36)—— Kubernetes 本地运行的四种方法
- Linux 学习总结(90)—— Linux 远程数据同步工具 Rsync(remote synchronize)详解
- Java基础学习总结(196)—— Java、Spring、Dubbo 三种 SPI 机制详解
- Kubernetes 学习总结(35)—— Kubernetes 1.25 正式发布,多方面重大突破