教會你Linux KVM上創(chuàng)建ooRexx構(gòu)建環(huán)境
在當今社會Linux系統(tǒng)越來越成為主流,你了解Linux系統(tǒng)么?你是Linux系統(tǒng)的應(yīng)用者么?本文為你詳細介紹在Linux KVM上創(chuàng)建一個ooRexx構(gòu)建環(huán)境 ,為你在學習在Linux KVM上創(chuàng)建一個ooRexx構(gòu)建環(huán)境時起一定的作用。
使用ooRexx開發(fā)隨需應(yīng)變的軟件構(gòu)建服務(wù),ooRexx使用Linux內(nèi)核虛擬機(KVM)提升性能。KVM 充當客戶操作系統(tǒng)的主機,為用戶構(gòu)建目標軟件。Apache Web 服務(wù)器控制構(gòu)建并存儲結(jié)果,供用戶在以后檢索結(jié)果。通過本文了解如何設(shè)置構(gòu)建服務(wù)器和創(chuàng)建客戶機,定制構(gòu)建請求,以及組織和訪問構(gòu)建結(jié)果。
最近,Open Object Rexx 項目將其舊的隨需應(yīng)變軟件構(gòu)建系統(tǒng)從由 VMware 托管的客戶操作系統(tǒng)轉(zhuǎn)移到由 Linux Kernel Virtual Machine (KVM) 托管的客戶機上。這一改變提供了一個更加高效的構(gòu)建環(huán)境,并且為用戶減少了構(gòu)建時間。
ooRexx 軟件構(gòu)建系統(tǒng)允許開發(fā)人員針對多個基于 x86 的平臺和操作系統(tǒng)構(gòu)建 ooRexx 軟件包。目前,受支持的客戶操作系統(tǒng)包括 Windows® XP (i386)、Fedora 10(i386 和 x86_64)和 Ubuntu 8.04(i386)。這些客戶操作系統(tǒng)為 Windows (EXE)、Fedora 和 openSUSE (RPM) 以及 Ubuntu (DEB) 生成 ooRexx 安裝和文檔包。其他基于 x86 的操作系統(tǒng)也將根據(jù) ooRexx 開發(fā)人員和用戶的需求得到支持。
本文將展示如何創(chuàng)建自己的軟件構(gòu)建系統(tǒng),使用 ooRexx 開發(fā)團隊的設(shè)置作為例子,并為 ooRexx、Apache 和 Linux 開發(fā)人員提供了技巧和指導。您可以在本文結(jié)束部分 下載服務(wù)器和客戶機腳本。該系統(tǒng)專門用于構(gòu)建 ooRexx 軟件,但是其中的概念可以應(yīng)用于通用的軟件構(gòu)建系統(tǒng)。
本系統(tǒng)包括以下需求:
◆需要一個 Web 接口來生成構(gòu)建請求。
◆需要一個 Web 接口來檢索構(gòu)建結(jié)果。
◆需要支持多客戶操作系統(tǒng)。
◆客戶操作系統(tǒng)必須執(zhí)行完全自動化的構(gòu)建。
◆在構(gòu)建結(jié)束時,應(yīng)當生成電子郵件并發(fā)送給請求用戶。
要滿足這些需求,開發(fā)團隊和我使用了一個四核的基于 Xeon 的服務(wù)器。該服務(wù)器包含 4GB 內(nèi)存和 250GB 磁盤。我們選擇 Fedora 10 x86_64 發(fā)行版作為主操作系統(tǒng),主要是考慮到該發(fā)行版使用的 KVM 具有良好的穩(wěn)定性,并且是***版本。選擇的硬件和軟件可能有所不同,但是主要的硬件標準是您的處理器應(yīng)當具有硬件虛擬化特性 — 這是使用 KVM 的必要條件。
設(shè)置服務(wù)器
設(shè)置構(gòu)建服務(wù)器的***步是確定分區(qū)模式。我們決定將客戶操作系統(tǒng)的 Web 存儲和映像分離到單獨的分區(qū)中。我們?yōu)?Web 存儲分配 50GB 的硬盤,為客戶操作系統(tǒng)映像所在的 /var 分區(qū)分配 150GB 硬盤。其余硬盤空間被分配給 /home 分區(qū)和 /root 分區(qū)。
接下來,我們將使用 Fedora 10 x86_64 發(fā)行版安裝主操作系統(tǒng)。如果您要設(shè)置自己的系統(tǒng),那么執(zhí)行下面的操作可以避免很多麻煩:
◆在啟動安裝之前通過機器的 BIOS 啟用硬件虛擬化功能,這樣 Fedora 將發(fā)現(xiàn) KVM 是可用的。
◆執(zhí)行軟件組件的定制安裝,這樣就可以選擇 Fedora 虛擬化選項。
安裝好服務(wù)器操作系統(tǒng)后,我們將它配置為可由客戶操作系統(tǒng)訪問。這包括對 Windows 客戶機啟用 Samba,以及對 Linux 客戶機啟用 NFS。這可以支持客戶機訪問構(gòu)建結(jié)果分區(qū),從而可以存儲構(gòu)建文件以供用戶訪問。主要 Samba 共享和主要 NFS 導出針對所有客戶機都指向同一位置。
接下來,我們將配置 Apache Web 服務(wù)器以提供對構(gòu)建請求系統(tǒng)(我將在 構(gòu)建請求 中加以解釋)和構(gòu)建結(jié)果庫的訪問。
需要確定的一項配置決策與客戶機的網(wǎng)絡(luò)選項有關(guān)。默認安裝被配置為對所有客戶機應(yīng)用一個私有的內(nèi)部網(wǎng)。C 類網(wǎng)和 DHCP 服務(wù)器一起提供,來為客戶機提供 IP 地址。另一個選擇是設(shè)置系統(tǒng),以將其中一個網(wǎng)絡(luò)設(shè)備作為通向服務(wù)器外部網(wǎng)的網(wǎng)橋。這需要進行手動配置。您可以在 libvirt Wiki 中找到如何為服務(wù)器配置這一選項的示例。
這樣你就能在Linux KVM上創(chuàng)建一個ooRexx構(gòu)建環(huán)境了。
【編輯推薦】