Re: [問題] 如何使用maven實踐整合測試

看板java作者 (熱~~~~)時間1年前 (), 編輯推噓0(004)
留言4則, 1人參與, 1年前最新討論串2/2 (看更多)
對於問題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://www.ptt.cc/bbs/java/M.1624158725.A.CA6.html

06/20 12:20, 1年前 , 1F
我們環境的確比較不一樣,只有一台jenkins只負責純打包完,
06/20 12:20, 1F

06/20 12:21, 1年前 , 2F
再丟到不同環境的主機啟動。而且我想保留目前要先請user人
06/20 12:21, 2F

06/20 12:23, 1年前 , 3F
工測完才能進到下個環境的步驟。這架構及各個環節沒切割
06/20 12:23, 3F

06/20 12:24, 1年前 , 4F
完全及自動化,我想這可能也是我為何這次卡住的原因
06/20 12:24, 4F
文章代碼(AID): #1Wph85oc (java)
文章代碼(AID): #1Wph85oc (java)