作者achaos (熱~~~~)
看板java
標題Re: [問題] 如何使用maven實踐整合測試
時間Sun Jun 20 11:12:03 2021
對於問題1:
那我先假設你有一個正式環境,包含一個正式區部署主機,一個正式區DB
那你要做整合測試,應該要另外準備一套跟正式區類似的環境,所以會有另外一台整合測
試區部署主機,與一個整個測試區DB
然後依照你的流程,把程式部署到整合測試區,連接整合測試區DB後,進行整合測試。
最後依照測試結果,決定要不要部署到正式區。
對於問題2:
對於整個系統回到上個版本是很困難的事情,程式是最簡單的,你可以將上次部署成功的
程式標記,測試失敗的時候就使用上次部署成功的程式進行部署
但是如果牽扯到資料庫的話,就會變得非常複雜,我目前是大概知道怎麼做,不過表達不
出來,有興趣可以參考一下下列網址
https://www.facebook.com/groups/DevOpsTaiwan/permalink/4018716704882012
對於問題3:
你的部署程式需要有個API,然後你的測試程式需要有個探針程式,探針程式會去呼叫API
,如果失敗代表程式還沒有啟動,成功了就開始執行整合測試。
---------------------------------------
不過我對於你的步驟1一直覺得有點奇怪
正常應該是jenkins下載程式碼,然後在有pom.xml這個檔案的目錄下執行
integration-test verify指令
所以會在你下載程式碼的那台主機執行整合測試(這台主機需要可以連到你需要的服務,
例如測試區DB),整合測試完成後再開始部署工作
所以第一步應該不需要部署才對。
※ 引述《ht5603 (Mike)》之銘言:
: 我想要替我的專案增加整合測試,但不知道如何能完全地自動化進行測試、部署,
: 對於整個流程還是沒辦法想出較好的實踐方式。
: 主要用到的項目有:maven、cucumber測試套件及jenkins
: 我目前的想法是
: 1.先將程式部署到server啟動
: 2.執行maven指令 integration-test verify,執行整合測試
: (這個已經做完,可以順利跑測試案例)
: 3.測試結果,成功:打包部署到server、失敗:不打包也不部署
: 但目前有卡到幾個點讓我不知道怎麼辦
: a.我想要測試的結果成功才打包部署,但步驟1就先做掉了,
: 這樣不是已先把程式部署上去了嗎?
: b.假如非得先部署上去,那整合測試fail,那要如何退回上一個版本?
: c.同上,假如得先部署。打包、啟動server都需要時間,那我要如何
: 自動地開始執行測試?
: 目前是我自己等server起好,再手動執行maven指令測試。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.230.31.139 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/java/M.1624158725.A.CA6.html
1F:→ ht5603: 我們環境的確比較不一樣,只有一台jenkins只負責純打包完, 06/20 12:20
2F:→ ht5603: 再丟到不同環境的主機啟動。而且我想保留目前要先請user人 06/20 12:21
3F:→ ht5603: 工測完才能進到下個環境的步驟。這架構及各個環節沒切割 06/20 12:23
4F:→ ht5603: 完全及自動化,我想這可能也是我為何這次卡住的原因 06/20 12:24