版本交付_连续交付友好的Maven版本
版本交付
持續(xù)交付管道需要可預(yù)測(cè)的軟件和依賴(lài)版本。 Maven軟件項(xiàng)目中常見(jiàn)的快照版本與“持續(xù)交付”背后的動(dòng)機(jī)背道而馳。
為了將快照版本更新為發(fā)行版本,開(kāi)發(fā)人員通常手動(dòng)或通過(guò)諸如maven-release-plugin來(lái)編輯pom.xml文件。 但是,Maven還提供了將版本號(hào)定義為屬性的可能性,這更適合持續(xù)交付世界。
它可以使用占位符,如${revision}為神器版本,描述在這里 。 因此,我們可以定義一個(gè)包含語(yǔ)義版本的版本,該語(yǔ)義版本包括CI服務(wù)器的內(nèi)部版本號(hào)作為元數(shù)據(jù):
<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>為了發(fā)布不會(huì)在任何環(huán)境上發(fā)布的本地版本,我們照常調(diào)用mvn clean package 。 這將導(dǎo)致工件版本1.0.0+local 。
持續(xù)集成服務(wù)器將調(diào)用Maven構(gòu)建,類(lèi)似于: mvn clean package -DbuildNumber=b${buildNumber} -使用從當(dāng)前管道構(gòu)建中獲取的構(gòu)建號(hào)。 這將導(dǎo)致工件版本1.0.0+b123 1.0.0+b124等。 設(shè)置相同的屬性是為了mvn deploy工件mvn deploy到存儲(chǔ)庫(kù)。
這種方法可以方便地為本地構(gòu)建指定可預(yù)測(cè)的版本和后備版本。 請(qǐng)務(wù)必注意,語(yǔ)義版本1.0.0僅應(yīng)由開(kāi)發(fā)人員更改,因?yàn)樗从沉薃PI更改的性質(zhì)和兼容性。
發(fā)現(xiàn)帖子有用嗎? 訂閱我的時(shí)事通訊,獲取有關(guān)IT和Java的更多免費(fèi)內(nèi)容,技巧和竅門(mén):
成功! 現(xiàn)在檢查您的電子郵件以確認(rèn)您的訂閱。
翻譯自: https://www.javacodegeeks.com/2017/12/continuous-delivery-friendly-maven-versions.html
版本交付
總結(jié)
以上是生活随笔為你收集整理的版本交付_连续交付友好的Maven版本的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 汽车发动机电脑主板维修(汽车车身电脑主板
- 下一篇: 金松洗衣机官网