2015-10-20 82 views
0

目前我正在整合Gitlab + Jenkins + Maven的項目中工作。Maven單獨建設和包裝以及黃瓜集成測試

這是一個Maven Java項目,我們有UT和集成測試。

我設計的,看起來像這樣的CI管道:

  1. 打造核心軟件包,運行UT
  2. 生成網頁,運行UT
  3. 運行集成測試,寫在黃瓜。
  4. 部署到臨時服務器

在紙面上,這看起來不錯,但現在我想實現這一點,我有一些問題。

  • 有沒有簡單的方法來保存每個Git分支的Java包?每個分支將在步驟1中編譯並創建一個Jar文件,這將在步驟2中需要。
  • 在步驟3中,如何使用步驟2中構建的war來運行測試?目前我擁有Maven的所有生命週期,但無法找到解決此問題的方法。

感謝

回答

1

您可以使用詹金斯來執行這項工作

+0

這就是主意,但我被困在了我指出的兩個問題中 – jpereira

+0

您可以通過選中「允許複製神器」選項並提及您想使用戰爭的第二個Jenkins作業名稱來實現此目的,或者由詹金斯工作生成的jar。然後最後在構建選項卡下的第二個jenkins作業中選擇來自另一個項目的複製工件,並指定從哪裏(例如:如果它位於相同的git存儲庫/folder1/folder2/jarName.jar中)war或jar可用的路徑。 – user3604037

0

要在投入建設資產注入源控制,我不認爲。你應該可以使用Jenkins來運行Maven構建的各個步驟,並使用它在其工作目錄中創建的中間jar和war文件。如果出於某種原因你不能在maven中將它們分割成單獨的步驟,那麼你可能需要簡單地執行整個maven構建,然後使用它不應該刪除的工作文件運行測試。

+0

我不會在Git中保存Jars或戰爭。我需要生成每個分支的構建。我所遇到的問題是在實施這個。因爲我想把事情分成不同的任務,而且沒有重做以前任務中完成的任務 – jpereira

+0

啊,我誤解了,現在我得到了這個問題。你的意思是你需要運行第1步,然後第2步每個分支或你運行第1步爲每個分支,然後以某種方式使用所有的步驟2?我猜第一個? – piemonkey

+0

分支A作爲更改,它將觸發第1步,然後第1步觸發第2步然後第3步然後第4步 – jpereira