對于企業內網開發環境,很多系統管理員容易忽略或干脆忽視這個問題;其實這是一個錯誤的做法,這牽涉到二個問題:
一、開發環境其實就是網站成熟代碼的前身,只要保證這個工作做得穩定了,你的網站才能夠穩定;
二、如果你的開發團隊是一個500人以上的大團隊,你就會明白這個專題的作用,因為牽涉到許多諸如代碼安全及管理的問題。
本專題將從七個方面著手,介紹企業內網開發環境部署和管理方面需要考慮的問題。
一、系統的選擇問題
撫琴煮酒建議的主要是二種選擇:第一個就是CentOS,第二是FreeBSD。我們的單位最后選擇將FreeBSD作為開發環境的原因其實也簡單,就是它的穩定和方便性。穩定性這個是大家公認的,而FreeBSD部署環境確實是方便和快速的,因為開發無論怎樣,環境總是第一的,這個有需要驗證的朋友可對比下在CentOS下源碼部署nginx環境和FreeBSD部署nginx,大家也可以區分下。操作系統我們選擇的都是64位的,先前一批安裝的機器均是64-bit的FreeBSD 8.0,最近新裝的均是64bit的FreeBSD 8.1,沒辦法,雖然FreeBSD可以直接通過命令生級,但都是有代碼的機器,萬一出問題會嚴重影響整個部門同事的工作,想了很久就暫時共存吧,畢竟穩定第一。
二、服務器的選擇
對比了當時一些市面上比較流行的服務器,我們最終選擇了Dell PowerEdge R710,Dell PowerEdge R710作為DELL PowerEdge 2950的全面升級產品,無論從性能上還是管理功能上都得到了質的提升。在實際測試中表現令人驚艷,多任務處理中表現出強大的性能,在節能方面同樣表現優異,并且噪音控制相對于上一代產品也得到了很大的改善。戴爾的新一代OpenManage功能豐富,設置服務器溫度、功耗閥值和即時報警等獨具特色的功能都讓我們覺得此款服務器的性價比絕對是最優的,硬盤做的是RAID5,其它方面也沒什么好說的。
三、虛擬化軟件的選擇
因為選擇的是FreeBSD,在這個平臺上也沒什么好虛擬軟件可選擇;我們就用的是FreeBSD 8.1自帶的jail,通過長期的使用和觀察,確實在穩定性和開發上沒什么問題,除了性能上跟專業的商業虛擬軟件有差距外;前期的一批機器已將其用于了線上環境,目前發現非常穩定。
四、版本控制工具相關
公司成立的比較早,最先一批程序員都是用CVS版本控制工具來管理他們的代碼;后期,我們將自己的CVS服務器生級成了SVN,但總部那邊也保留了CVS服務器,所以這二種服務在公司內是共存的;我也嘗試過一段時間Git,但由于我們的項目管理本來就是基于集中式管理,所以git目前暫時不是太適合公司。
五、文件服務器的選擇
由于我們辦公環境清一色是windows xp和windows 7,這樣就存在一些Linux和windows共享文件的問題。我們許多同事(包括我)都非常喜歡TortoiseSVN和TortoiseCVS,本著安全的原則,我特地拿了一臺機器專門作checkout機器,并且在上面配置了samba服務,并且作了相當嚴格的權限控制,方便大家在windows下用"映射網絡驅動器"來進行代碼的查看工作;此外,一些不是代碼的文件(比如軟件),也用samba作了文件服務器,方例大家交流共享使用。
六、FTP服務器的選擇
我以前花了大量精力和時間測試,發現穩定和安全方面,vsftpd確實當之無愧;另外,我也測試過vsftpd和pureftpd,發現在功能上pureftpd確實強大和完美,但簡便性上就完全輸給了vsftpd;vsftpd服務我們主要是用于作數據庫及SVN、CVS的備份,我們的備份原則是通過shell腳本,本機備份一次后再通過vsftpd再備份一次,有備無患,免得發生硬盤損毀的杯具事件。
七、WEB開發環境的選擇
我個人的職業之一是項目實施工程師,說老實話,用源碼安裝LAMP和LNMP環境確實是一件漫長和復雜的過程,在開發環境下,配置FAMP確實是一件易事,這個有時間和興趣的朋友也可測試下。
在內網開發環境的整體部署過程,我們嘗試將SVN、CVS、samba及Jail這些服務糅合在一起,目前發現效果總體來說還是不錯的;如果你是系統管理員,也不妨換個思路和做法,嘗試下這些你可能沒有試過的服務,更高效和方便的部署你的開發環境。
原文鏈接:http://os.51cto.com/art/201101/242688.htm