版本交付_连续交付友好的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
版本交付
總結
以上是生活随笔為你收集整理的版本交付_连续交付友好的Maven版本的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 汽车发动机电脑主板维修(汽车车身电脑主板
- 下一篇: payara 创建 集群_在Payara