1. 程式人生 > >Maven集成指令總結

Maven集成指令總結

sna 處理 配置 多任務 線程 集成 自動部署 定期 影響

  1. clean: clean能夠保證上一次構建的輸出不會影響到本次構建。
  2. 使用deploy而不是install: 構建的SNAPSHOT輸出應當被自動部署到私有Maven倉庫供他人使用。
  3. -U參數: 該參數能強制讓Maven檢查所有SNAPSHOT依賴更新,確保集成基於最新的狀態,如果沒有該參數,Maven默認以天為單位檢查更新,而持續集成的頻率應該比這高很多。
  4. -e參數:如果構建出現異常,該參數能讓Maven打印完整的stack trace,以方便分析錯誤原因。
  5. -Dmaven.repo.local參數:如果持續集成服務器有很多任務,每個任務都會使用本地倉庫,下載依賴至本地倉庫,為了避免這種多線程使用本地倉庫可能會引起的沖突,可以使用-Dmaven.repo.local=/home/juven/ci/foo-repo/這樣的參數為每個任務分配本地倉庫。
  6. -B參數:該參數表示讓Maven使用批處理模式構建項目,能夠避免一些需要人工參與交互而造成的掛起狀態。

  綜上,持續集成服務器上的集成命令應該為 mvn clean deploy -B -e -U -Dmaven.repo.local=xxx 。此外,定期清理持續集成服務器的本地Maven倉庫也是個很好的習慣,這樣可以避免浪費磁盤資源,幾乎所有的持續集成服務器軟件都支持本地的腳本任務,你可以寫一行簡單的shell或bat腳本,然後配置以天為單位自動清理倉庫。需要註意的是,這麽做的前提是你有私有Maven倉庫,否則每次都從Internet下載所有依賴會是一場噩夢。

Maven集成指令總結