萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> windows下JAVA敏捷開發環境搭建步驟教程

windows下JAVA敏捷開發環境搭建步驟教程

編程開發環境搭建還是挺重要的,第一步是先要搭建環境,有了環境才能開展工作。本文我們來看看windows下JAVA敏捷開發環境搭建步驟。

整個軟件項目分為四個環境 開發本地環境、開發環境、測試環境、IDC環境。和傳統C++開發不一樣的模式是多了第一個開發本地環境。這是為什麼呢,因為目前大部分開發人員還是比較熟悉windows下開發。對於mac和linux下直接使用軟件並且開發的中國開發者還是少之又少,這套架構就這個現狀做出來的。如下是環境搭建架構圖:

 

agile_pic3

 

從環境來說:

一、開發本地環境、開發集成服務器搭建。 前端開發者、後台開發者。

前端開發用的最多的是photoshop和dreamweaver。在做psd之前大部分是不會協同開發的,只有整個文件傳遞過來過去。html切割的時候可能就會多個人協同開發了。這個時候需要一個集中ftp服務器、svn服務器。svn服務器用於保存版本代碼庫,用於保存歷史修改的版本和開發人員協同。ftp服務器適用於及時修改時保存上傳到預覽服務器進行預覽。看到這裡有人也許會問,我直接合並svn和ftp不行嗎?其實有這樣的問題,如果直接提交svn,後台開發人員就會從svn看到。本來是前端的集成協同開發預覽,結果影響到後台容易引起版本混亂。

後台開發怎麼搭建環境?用eclipse在本地環境搭建開發環境,通過tomcat插件或者jetty啟動調試class、jsp。之前看過很多公司都通過打成war包發布到集成環境再調試。集成環境大家都去集成容易引起版本混亂。即使不發布到集成環境,在本地就算修改個小的class文件也要重啟 war包有點浪費時間。最好就是利用tomcat的熱部署,修改小功能直接生效。現在我們就是這樣做的,用maven管理jar包依賴,ant本地打包、拷貝包,用eclipse的tomcat插件熱部署快速開發。等到所有功能開發好了。把分支版本發布到開發環境進行集成測試。

開發環境涉及的軟件有:nexus 、maven、tomcat服務器、mysql、ftp、jenkins、svn、jira、fisheye、eclipse、dreamweaver、photoshop、nginx。

軟件的作用:

nexus作為集中倉庫管理,因為每個工程如果都有一堆jar包,很難管理。加上svn上傳、分支、合並耗費網絡帶寬、空間。如果有個地方把這些浪費空間的jar集中管理起來,所有工程合用豈不是很好。

maven是軟件生命周期、依賴管理,有了集中管理jar包,就需要有個東西把jar包倉庫和工程連接起來。

tomcat服務器是本地開發使用和集中測試服務器。

mysql就沒必要每個開發機器都裝一個了,放在一個開發環境就可以。

ftp作為前端開發上傳文件使用。

jenkins是持續集成,開發和前端都把代碼弄好,怎麼融合集成在一起測試呢,總需要有個人來把所有的文件合並在一起吧?這個軟件就起到這個角色,把所有文件集成、編譯、打包、發布到tomcat服務器。如下圖:

 

test

 

svn代碼版本管理,大家都知道協同作用。

jira用於需求、bug等管理。

fisheye用於代碼統計、審核等。

eclipse、dreamweaver、photoshop不用說啦。

nginx主要用於做虛擬主機和靜態資源管理。因為我們可能同時開發多個網站,nginx可以根據不同的域名轉發到不同的web服務器。

二、測試服務器。開發、測試。

開發集成測試環境通過後,這個就可以轉測試了。通過持續集成,測試部署好環境就開始測試。測試環境同樣依賴於集中倉庫、maven、持續集成等軟件。也就是集成測試環境、開發集成環境、開發本地環境都是用的一套jar包,是不是很cool。如果測試不通過,就要轉回開發,開發好再轉測試。怎麼保證開發的質量和測試的質量,還有大家的協作性,這個過程涉及到軟件工程和績效考核,後面再說。測試通過一些測試,測試通過後就可以發布到外網了。這個時候需要提供發布列表、操作步驟、數據庫操作腳本給到運維審核,審核通過後才能發布。

怎麼發布到外網IDC呢?運維可以根據發布列表去操作,開發和前端一起等著熬夜啊熬夜。沒有效率!這裡提出了一個增量發布版本的方式,通過發布列表,我們的發布程序會自動檢測到發布的文件和發布的機器,發布到對應的服務器。如果發布失敗了還可以回滾文件,基本上是一鍵操作。未來還會把服務器重啟、日志輸出等集成起來。

三、IDC服務器。

外網的真實服務器,後台和前台。大家能夠訪問到的網站服務器。業務人員在版本發布後查看。整個流程就做好了。大家在每一次版本開發完了,可以很好的協同、開發、測試、發布。

copyright © 萬盛學電腦網 all rights reserved