版本交付_连续交付友好的Maven版本

版本交付

持续交付管道需要可预测的软件和依赖版本。 Maven软件项目中常见的快照版本与“持续交付”背后的动机背道而驰。

为了将快照版本更新为发行版本,开发人员通常手动或通过诸如maven-release-plugin来编辑pom.xml文件。 但是,Maven还提供了将版本号定义为属性的可能性,这更适合持续交付世界。

它可以使用占位符,如${revision}为神器版本,描述在这里 。 因此,我们可以定义一个包含语义版本的版本,该语义版本包括CI服务器的内部版本号作为元数据:

<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.sebastian-daschner</groupId><artifactId>hello-world</artifactId><version>${revision}</version>...<properties><!-- will be overridden in CD pipeline --><buildNumber>local</buildNumber><revision>1.0.0+${buildNumber}</revision>...</properties>
</project>

为了发布不会在任何环境上发布的本地版本,我们照常调用mvn clean package 。 这将导致工件版本1.0.0+local

持续集成服务器将调用Maven构建,类似于: mvn clean package -DbuildNumber=b${buildNumber} -使用从当前管道构建中获取的构建号。 这将导致工件版本1.0.0+b123 1.0.0+b124等。 设置相同的属性是为了mvn deploy工件mvn deploy到存储库。

这种方法可以方便地为本地构建指定可预测的版本和后备版本。 请务必注意,语义版本1.0.0仅应由开发人员更改,因为它反映了API更改的性质和兼容性。

发现帖子有用吗? 订阅我的时事通讯,获取有关IT和Java的更多免费内容,技巧和窍门:

成功! 现在检查您的电子邮件以确认您的订阅。

翻译自: https://www.javacodegeeks.com/2017/12/continuous-delivery-friendly-maven-versions.html

版本交付

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/333965.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

shell开启飞行模式_今天才知道,原来手机的飞行模式用处那么多,看完涨知识了...

想必大家都知道&#xff0c;手机里有个飞行模式&#xff0c;是在乘坐飞机时使用的。其实除了这个功能之外&#xff0c;飞行模式还有很多其他的妙用&#xff0c;下面笔者就为大家一一进行介绍。一、 加快充电速度有些特殊情况你想加快手机的充电速度时&#xff0c;可以试着开启飞…

Anaconda安装库

有时候pip安装库特别慢&#xff0c;就采用conda别的方法装 conda install -c conda-forge 库名#如pydicom,gdcm

Linux 如何安装 SRPM 包(源代码 rpm 软件包,以 .src.rpm 为后缀名)/rpm 格式的源码软件包/源码包

文章目录一、SRPM 介绍二、SRPM 命名格式三、SRPM 的安装&#xff08;一&#xff09;直接使用命令 rpmbuild&#xff08;二&#xff09;利用 *.spec 文件编译&#xff08;三&#xff09;使用命令 make 编译和安装四、写在最后一、SRPM 介绍 SRPM 包&#xff0c;比 RPM 包多了一…

payara 创建 集群_在Payara Server和GlassFish中配置密码

payara 创建 集群回答Stackoverflow问题可以为我发现我最喜欢的开源工具的正式文档中的空白提供很好的反馈。 我在这里回答的问题之一是如何在docker容器中更改Payara Server主密码 。 显然&#xff0c;在标准服务器安装中&#xff0c;这很简单–只需使用asadmin change-master…

axure怎么做5秒倒计时_五个月宝宝早教,5个月婴儿早教怎么做

五个月宝宝早教&#xff0c;5个月婴儿早教怎么做&#xff0c;5个月宝宝是需要开始有意识的进行精细动作的家庭训练了5个月宝宝的一般特点&#xff1a;到了5个月时&#xff0c;能用眼睛观察周围的物体了&#xff0c;而且对什么都感到新奇好玩&#xff0c;能在眼睛的支配下抓住东…

python中enumerate()的理解

enumerate()函数的作用是通过迭代来遍历一个字符串、列表或字典等&#xff0c;并且为其增加索引&#xff0c;返回值为enumerate类。 代码举例如下&#xff1a; list[1,2,3,4,5,6] for i,j in enumerate(list):print(i,j) #结果&#xff1a; 0 1 1 2 2 3 3 4 4 5 5 6namesaber…

jpa执行sql脚本_JPA persistence.xml SQL脚本定义

jpa执行sql脚本您可以在将在运行时执行的JPA持久性上下文定义中定义并链接到SQL脚本。 有标准化的属性来定义脚本&#xff0c;以分别说明如何创建模式&#xff0c;批量加载数据和删除模式&#xff1a; <persistence version"2.1" xmlns"http://xmlns.jcp.or…

RPM 软件包默认的安装路径

通常情况下&#xff0c;RPM 包采用系统默认的安装路径&#xff0c;所有安装文件会按照类别分散安装到表 1 所示的目录中。 表 1 RPM 包默认安装路径安装路径含义/etc/配置文件安装目录/usr/bin/可执行的命令文件安装目录/usr/lib/程序所使用的函数库保存位置/usr/share/doc/基本…

图像融合亮度一致_重磅干货低光图像处理方案

点击上方“AIWalker”&#xff0c;选择加“星标”或“置顶” 重磅干货&#xff0c;第一时间送达Tips&#xff1a;一点点提示&#xff0c;因内容较多建议先关注&#xff0c;再置顶&#xff0c;最后端杯茶来精心浏览。背景低光图像是夜晚拍照时极为常见的一种现象。不充分的光…

修改本地文件的名字

将名字叫做megumi的文本文件改成名字叫做asuna的文本文件。主要用到os库的rename方法。 代码如下: import os folder"C:/Users/13451/Desktop" oldos.path.join(folder,megumi.txt) #或者oldfolder/megumi.txt newos.path.join(folder,asuna.txt) os.rename(old,n…

Adobe PhotoShop(PS) for Mac 如何隐藏切片框?

如何取消显示如下图所示的切片框&#xff1a; 打开『视图』➟ 『显示』&#xff0c;把『切片』前面的勾去掉&#xff0c;如下图所示&#xff1a;

groovy grails_在Grails战争中添加一个“精简”的Groovy Web控制台

groovy grails假设您已将Grails应用程序部署到服务器上–如何查找应用程序的配置方式&#xff1f; 如果您有来源&#xff0c;则可以查看Config.groovy &#xff0c; BuildConfig.groovy等&#xff08;在这种情况下&#xff0c;我正在谈论Grails 2应用程序&#xff0c;但是这些想…

邮宝打印面单尺寸调整_如何打印身份证的实际尺寸?怎样用照片打印身份证复印件...

点击上面 蓝色 文字关注我们&#xff0c;了解选购百科知识&#xff0c;快乐健康不停&#xff01;怎样打印身份证复印件&#xff1f;可以把身份证的照片导入电脑或者扫描件打印黑白的即可。如何打印身份证的实际尺寸&#xff1f;二代身份证的实际尺寸是&#xff1a;85.6MM X 54M…

将一个文件夹的文件复制到另一个文件夹

将桌面的文件复制到F盘anime文件夹下&#xff0c;主要用到shutil库下的copy方法。 from shutil import copy import os from_pathC:/Users/13451/Desktop/asuna.txt #asuna.txt是文件 to_pathF:/anime #anime是个文件夹 copy(from_path, to_path)

取模和求余运算

文章目录背景探究总结被除数 dividend 用 a 表示&#xff1b; 除数 divisor 用 b 表示&#xff1b; 商 quotient 用 q 表示&#xff1b; 余 remainder 用 rem 表示&#xff1b; 模 modulo 用 mod 表示。 背景 最近在一道 Java 习题中&#xff0c;看到这样的一道题&#xff1a;…

jpa映射json_如何使用JPA和Hibernate映射JSON集合

jpa映射json介绍 开源的hibernate-types项目允许您将Java对象或Jackson JsonNode为JPA实体属性。 最近&#xff0c;由于我们的杰出贡献者&#xff0c;我们添加了对类型安全集合的支持&#xff0c;该集合也可以作为JSON持久化。 在本文中&#xff0c;您将了解如何实现此目标。 …

图像重建算法_基于深度学习图像重建算法(DLIR)对CT图像质量和剂量优化的研究:体模实验...

编者按&#xff1a;今年Jol Greffier博士等在European Radiology (IF 4.1)上发表了题为《Image quality and dose reduction opportunity of deep learning image reconstruction algorithm for CT: a phantom study》的文章&#xff0c;通过与混合迭代重建算法(IR)对比&#x…

Numpy的切片操作

Numpy数组的切片基本操作 以冒号为分隔符通过参数 start:stop:step 来进行切片操作, start省略则默认从头开始索引 stop省略则默认索引到结尾 step省略则默认步长为1 如下: import numpy as np xnp.array([1,2,3,4,5,6,7,8,9]) print(x[1:5]) #从1号位开始索引&#xff0c;到…

用xshell传输jdk_在JDK 9中将InputStream传输到OutputStream

用xshell传输jdk可以使Java中的有时例行任务变得更加轻松的JDK 9的次要补充之一是方法InputStream.transferTo&#xff08;OutputStream&#xff09;的增加 。 顾名思义&#xff0c;此方法允许将字节轻松地从调用该方法的对象表示的输入流传输&#xff08;复制&#xff09;到提…

求余和取模的计算公式

取余&#xff1a;rem(a,b) a - b * fix(a / b) 取模&#xff1a;mod(a,b) a - b * floor(a / b) 注&#xff1a;fix() 函数的取值是向 0 方向舍入取整&#xff0c;floor() 函数的取值是向负无穷方向舍入取整&#xff0c;且 b ≠ 0。 例子 1&#xff1a; rem(7,3) 7 - 3 …