簡體   English   中英

Bamboo和Artifactory之間的語義版本控制?

[英]Semantic Versioning between Bamboo and Artifactory?

我們有一個內部Java庫,它是許多其他項目的依賴項,我們稱之為our-commons-<version>.jar 我們喜歡或多或少地遵循語義版本控制的想法,所以:

  • 當我們進行向后兼容的API更改時,主要數字會發生變化;
  • 當我們進行向后兼容的 API更改時,次要編號會發生變化;
  • 每次我們進行構建時補丁號都會改變(所以對我們來說,它實際上是一個內部版本號 ); 但是我們真的只會在修復bug時構建,因此它足夠接近真正的semver

目前,我們只發布到Artifactory上的SNAPSHOT目錄,並在每次構建時覆蓋那里的JAR。 具體來說,我們的項目回購在:

http://arty/artifactory/simple/our-libs-snapshots/our-commons/snapshot

其中http://arty/artifactory是在arty機器上運行的Artifactory服務,其中our-libs-snapshots是實際repo的名稱,而our-commons是我們lib的名稱。 /snapshot目錄是所有Bamboo構建發布的地方,就像我說的那樣,覆蓋每個構建的JAR。 我們正在硬編碼我們的構建以生成每個構建our-commons-0.1-SNAPSHOT.jar

要進行此發布,我將以下任務配置為our-commons Bamboo計划的一部分:

Artifactory Deploy Task
=======================
Artifactory Serverl URL:        http://arty/artifactory
Target Repository:              our-libs-snapshots
Deployer Username:              myadmin
Deployer Password:              ******
Edit Published Artifacts:       dist/our-commons-0.1-SNAPSHOT.jar=>our-commons/snapshot
Capture & Publish Build Info:   yes (checked)

我正在試圖弄清楚如何讓Bamboo和Artifactory與我們的semver一起工作。 這樣我們第一次建造時,就會產生:

http://arty/artifactory/simple/our-libs-snapshots/our-commons/1.0.0/our-commons-1.0.0.jar

我們第二次建造,它將產生:

http://arty/artifactory/simple/our-libs-snapshots/our-commons/1.0.1/our-commons-1.0.1.jar

等等。然后,我們將能夠手動指示我們何時想要增加次要號碼,在這種情況下,補丁號碼將重新開始:

http://arty/artifactory/simple/our-libs-snapshots/our-commons/1.1.0/our-commons-1.1.0.jar

同樣處理重大的數字,但增加將復位兩個未成年和補丁號。

不確定我們應該添加的位置應該添加這些配置,或者它們實際上是什么樣子。 有任何想法嗎?

您要實現的目標稱為獨特快照 (見下文)。 使用semver的 patch版本是錯誤的(補丁版本是第三個數字,例如10.0.3 3是補丁版本)。

使用Maven(或Gradle,或Ivy)和Artifactory時,您可以使用此功能。 您需要將Artifactory存儲庫設置為使用存儲庫設置中的唯一快照設置快照清理 (通常保留3到5個最后的快照是一個好習慣)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM