1

我想要一些「Merven發佈的Maven」知識淵博的意見。基於Maven Mercurial的持續發佈流程

我已經看到了this thread等等。

我們希望變得敏捷和快速。我們想要建立一次測試版本沒有一個版本。

我們已經建立了,我們做以下持續釋放的過程:

  1. 詹金斯檢查的「服務器」倉庫SCM變化(每30分鐘)。也可以手動觸發
  2. Jenkins克隆「服務器」存儲庫
  3. Jenkins在pom中增加版本(例如:1.0.1 - > 1.0.2)。 NO快照
  4. 開始構建,打包,自動部署和測試
  5. 如果一切都很好,提交更改的POM,標籤和推回「服務器」倉庫(合併如果需要的話)
  6. 釋放善意版本的「發佈」系統,它是供QA進行進一步的測試
  7. 開發人員拉了回來,從「服務器」倉庫的變化並獲得新的versiond勁歌

如果需要很好的釋放了一個熱修復

  • 開發人員將克隆相關的標籤從「服務器」倉庫
  • 做修復,推回「服務器+修復」庫
  • 詹金斯將建立之前
  • 如果好,修復也將被推送到主「服務器」存儲庫

我們發現這個過程非常快速和乾淨。

我想要你對流量的看法,有想法可以改進。請記住 - 快速,連續建立一次

在此先感謝!

回答

1

對no快照規則+1。我認爲它很好。

釋放善意版本的「版本」的系統,它是可供 QA進行進一步的測試

什麼是「釋放」制度。它是一個Maven倉庫嗎?新版本是否會自動部署到QA環境?它如何從知識庫中獲取?你可以使用dependency:get從maven repo中抽取一個jar。但是,如果想要爲您的部署使用Chef或Puppet等基礎設施自動化工具,那麼最好將rpms發佈到您的Maven存儲庫(例如使用maven-rpm-plugin進行發佈並啓用nexus-yum-plugin)或者只需設置您的擁有yum repository

+0

「發佈」系統是一個基於文件系統的存儲庫,具有託管的Web訪問權限。構建將自動部署到初始測試系統。後來,我們允許QA使用Jenkins選擇已發佈的版本並自動安裝它。發佈的工件是RPM。 –