一、问题产生

我们来思考下持续交付的原则。每次构建的结果可能是一个潜在的发行版本;消除手动瓶颈;尽可能自动化。这三点正是我们想要实现的,但是在实现之前,我们先来看下在典型的Maven发布流程和经典方式版本号管理上的具体问题。

1)没有自动化

通常来说,一次提交会触发一个快照构建,然后生成一个快照构件(“8.1.2-SNAPSHOP”)。当开发者感觉软件到达稳定状态后,他会触发一次专用发布构建。因此,他预先分配版本号(“8.2.0”)。人员必须分配版本号然后触发发布构建。这种方式有什么缺点:(1)我们需要手动触发专用的发布工作流程;(2)版本号需要人为手动分配;(3)看版本号“8.2.0”并不清晰,比如这个版本号的构件中包含了哪些提交(代码)。我们需要一个Git标签。

2)任意快照

此外,快照引起了许多问题。不清晰的内容变动。(1)不可追踪。我们不能说,有哪些提交包含在了当前的快照构件中;(3)不可靠。快照构件可以很快速的修改。这样很容易引起问题。(3)易出错。不过不注意,很容易覆盖一个快照(比如:当创建Git分支的时候,忘记修改POM文件中的版本号。从Git分支上构建会覆盖之前的快照)。</

Maven学习总结(53)——利用Maven插件构建镜像进行持续交付中的版本号管理相关推荐

  1. Maven学习总结(八)——使用Maven构建多模块项目

    2019独角兽企业重金招聘Python工程师标准>>> Maven学习总结(八)--使用Maven构建多模块项目 在平时的Javaweb项目开发中为了便于后期的维护,我们一般会进行分 ...

  2. Maven学习(三)————Maven核心概念(二)

    引言 承接上一篇<Maven学习(二)----Maven核心概念(一)>,介绍 Maven  生命周期.插件.目标.继承.聚合等一些概念. 一.Maven 生命周期 1.1 理解 Mave ...

  3. Maven学习(二)————Maven核心概念(一)

    引言 Maven 作为项目构建工具,学习成本并不大,但是如果搞不懂它的一些核心概念,使用起来还是不能特别得心应手. Maven的核心概念包括以下这些: 1.约定的目录结构  2.POM  3.坐标  ...

  4. Maven学习总结(十)——使用Maven编译项目gbk的不可映射问题

    2019独角兽企业重金招聘Python工程师标准>>> Maven学习总结(十)--使用Maven编译项目gbk的不可映射问题 一.问题描述 今天在MyEclipse中使用Maven ...

  5. Maven 学习 (0) Maven 简介

    2019独角兽企业重金招聘Python工程师标准>>> Maven 学习 (0) Maven 简介 什么是 Maven? Apache Maven 是一个软件项目的管理和理解工具.M ...

  6. IDEA中使用Docker插件构建镜像并推送至私服Harbor

    IDEA中使用Docker插件构建镜像并推送至私服Harbor 一.开启Docker服务器的远程访问 1.1 开启2375远程访问 1.2 添加harbor镜像配置 1.3 重启docker服务 二. ...

  7. 从零到一,构建你的持续交付流程(一):一个持续交付流程的构思

    在编码过程中,一个很容易发现的现象就是: 经常依赖手工操作的过程,一定容易出错,而且是反复出错 这就是持续交付出现的原因. 持续交付的目标就是从代码编译到可部署的二进包,甚至是部署这个很多都是依赖手工 ...

  8. maven学习笔记之IDEA+Maven+Jetty运行一个简单的web项目

    maven学习笔记 一.什么是maven Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Life ...

  9. Maven学习笔记-什么是maven?

    1.什么是maven? Maven 翻译为"专家"."内行",是 Apache 下的一个纯 Java 开发的开源项目.基于项目对象模型(缩写:POM)概念,Ma ...

最新文章

  1. C# 多态(接口、虚方法、抽象类)的理解
  2. 探索客户端JavaScript
  3. 搜索进一步细化 谷歌或重回大陆
  4. CentOS7上安装KVM部署虚拟机
  5. Leetcode 141.环形链表
  6. VC++ 访问数据库实例详解图解
  7. python数组切片效率_python – 对numpy数组切片进行采样的最快方法是什么?
  8. 权限操作-表结构分析与创建表
  9. 此表单只能填写一次_暴雪战网国服账号修改邮箱只能填写表单申请
  10. linux mint cinnamon_2019年最佳的8个Linux发行版
  11. 用友报表java打不开怎么加载,点报表没反应怎么回事啊?演示账套也打不开。...
  12. 程序员工资为什么普遍很高,原来是因为这个...
  13. 如何确定autosar的版本_什么是AUTOSAR?AUTOSAR的概要、背景以及目的-汽车电子-与非网...
  14. SQL2017安装教程
  15. 我们是选择开源CRM,还是选择商业CRM?
  16. TestFlight Beta 相关问答
  17. 读《春秋》有感之十二:偪阳之战
  18. Win PE 启动盘制作
  19. BI神器Power Query(14)-- PQ制作时间维度表(3)
  20. mysql触发器作用,好处和curl

热门文章

  1. 两表关联更新 mysql_MySQL多表更新(关联表更新)
  2. mysql的repeat_mysql函数中使用repeat循环的例子
  3. mac搭建svn服务器文件被锁定,MAC搭建SVN服务器并配置Cornerstone
  4. ps3存档是php文件,PS3存档修改图文详细全教程
  5. Quartus ii 13.1错误合集,持续更新
  6. spark sql 数据类型转换_spark dataframe 类型转换
  7. kext updater使用方法_语言清晰度测量方法的前世今生
  8. 解封装(二):初始化解封装avformat_open_input,各参数分析,以及简单流程
  9. python自助电影售票机_Spring Cloud版——电影售票系统六使用 Spring Cloud Config 统一管理微服务配置...
  10. python 分类变量xgboost_XGBoost 原理 及 常见面试题