版权所有IBM公司2009商标在LinuxKVM上创建一个ooRexx构建环境第1页,共7在LinuxKVM上创建一个ooRexx构建环境内核虚拟机改善构建性能W.
DavidAshley高级IT专家IBM2009年8月10日使用ooRexx开发随需应变的软件构建服务,ooRexx使用Linux内核虚拟机(KVM)提升性能.
KVM充当客户操作系统的主机,为用户构建目标软件.
ApacheWeb服务器控制构建并存储结果,供用户在以后检索结果.
通过本文了解如何设置构建服务器和创建客户机,定制构建请求,以及组织和访问构建结果.
最近,OpenObjectRexx项目(ooRexx;参见本文后面的参考资料了解更多信息)将其旧的随需应变软件构建系统从由VMware托管的客户操作系统转移到由LinuxKernelVirtualMachine(KVM)托管的客户机上.
这一改变提供了一个更加高效的构建环境,并且为用户减少了构建时间.
ooRexx软件构建系统允许开发人员针对多个基于x86的平台和操作系统构建ooRexx软件包.
目前,受支持的客户操作系统包括WindowsXP(i386)、Fedora10(i386和x86_64)和Ubuntu8.
04(i386).
这些客户操作系统为Windows(EXE)、Fedora和openSUSE(RPM)以及Ubuntu(DEB)生成ooRexx安装和文档包.
其他基于x86的操作系统也将根据ooRexx开发人员和用户的需求得到支持.
本文将展示如何创建自己的软件构建系统,使用ooRexx开发团队的设置作为例子,并为ooRexx、Apache和Linux开发人员提供了技巧和指导.
您可以在本文结束部分下载服务器和客户机脚本.
该系统专门用于构建ooRexx软件,但是其中的概念可以应用于通用的软件构建系统.
本系统包括以下需求:需要一个Web接口来生成构建请求.
需要一个Web接口来检索构建结果.
需要支持多客户操作系统.
客户操作系统必须执行完全自动化的构建.
在构建结束时,应当生成电子邮件并发送给请求用户.
要满足这些需求,开发团队和我使用了一个四核的基于Xeon的服务器.
该服务器包含4GB内存和250GB磁盘.
我们选择Fedora10x86_64发行版作为主操作系统,主要是考虑到该发行版使用的developerWorksibm.
com/developerWorks/cn/在LinuxKVM上创建一个ooRexx构建环境第2页,共7KVM具有良好的稳定性,并且是最新版本.
选择的硬件和软件可能有所不同,但是主要的硬件标准是您的处理器应当具有硬件虚拟化特性—这是使用KVM的必要条件.
设置服务器设置构建服务器的第一步是确定分区模式.
我们决定将客户操作系统的Web存储和映像分离到单独的分区中.
我们为Web存储分配50GB的硬盘,为客户操作系统映像所在的/var分区分配150GB硬盘.
其余硬盘空间被分配给/home分区和/root分区.
构建系统的一般需求构建系统包含以下一些基本需求:频繁构建以尽早发现问题加快构建(速度越快,所做的越多)增量式构建处理(或构建避免)来反映较小的开发更新支持(至少在较低级别)管理源代码依赖关系,以尽可能地保持系统灵活性关于构建、编译和链接的提取/报告功能跟踪源代码和二进制文件匹配的报告系统(有效地比较新旧代码)报告有关构建状态或测试结果(成功或失败)的功能创建发行说明和系统文档的功能接下来,我们将使用Fedora10x86_64发行版安装主操作系统.
如果您要设置自己的系统,那么执行下面的操作可以避免很多麻烦:在启动安装之前通过机器的BIOS启用硬件虚拟化功能,这样Fedora将发现KVM是可用的.
执行软件组件的定制安装,这样就可以选择Fedora虚拟化选项.
安装好服务器操作系统后,我们将它配置为可由客户操作系统访问.
这包括对Windows客户机启用Samba,以及对Linux客户机启用NFS.
这可以支持客户机访问构建结果分区,从而可以存储构建文件以供用户访问.
主要Samba共享和主要NFS导出针对所有客户机都指向同一位置.
接下来,我们将配置ApacheWeb服务器以提供对构建请求系统(我将在构建请求中加以解释)和构建结果库的访问.
需要确定的一项配置决策与客户机的网络选项有关.
默认安装被配置为对所有客户机应用一个私有的内部网.
C类网和DHCP服务器一起提供,来为客户机提供IP地址.
另一个选择是设置系统,以将其中一个网络设备作为通向服务器外部网的网桥.
这需要进行手动配置.
您可以在libvirtWiki中找到如何为服务器配置这一选项的示例(见参考资料中的链接).
创建客户机有两种方法可以为KVM创建客户机.
对于第一种方法,只需要创建所需的客户机来满足需求.
第二种方法采取更加长远的方式创建客户机.
我们使用第二种方法创建客户机,并且如果具有必需的资源的话,那么推荐以该方法作为标准方法.
我们首先根据需求确定客户机的数量和类型.
我们需要操作系统来为这些环境创建软件构建,并使用另一个操作系统创建文档.
结果证明,在我们的例子当中,文档和i386RPM任务可以被结合起来并由一个客户机处理.
下面是所分配的客户机和任务:ibm.
com/developerWorks/cn/developerWorks在LinuxKVM上创建一个ooRexx构建环境第3页,共7WindowsXP(i386):构建Windows安装可执行文件.
Fedora10(i386):构建i386RPM文件和文档ZIP文件.
Fedora10(x86_64):构建x86_64RPM文件.
Ubuntu8.
04(i386):构建DEB文件.
我们采用的方法以映像的形式创建前面提到的客户机,这些映像稍后可以进行克隆.
因此,每个客户机都拥有一个基本版本,可以在稍后克隆,定制后的克隆版本将执行实际的构建任务.
克隆KVM客户机非常简单.
Fedora10提供的virt-clone脚本可以完全自动化这个任务.
清单1.
Fedora10的virt-clone脚本$virt-clone--original=Fedora10-i386-Base--name=Fedora10-i386-Build--file=/var/lib/libvirt/images/Fedora10-i386-Build.
imgoriginal选项指定客户操作系统的名称,因为它对于虚拟机管理器是已知的.
name选项指定新的客户机的名称.
file选项指定客户机的新映像文件的文件名.
这将完全克隆一个已有客户机并将其复制到一个新的客户机版本.
它还将修改新客户机的MAC地址和UUID.
因此,如果必要的话,将保存原始的客户机以供以后进行克隆,并且为您的定制提供一个新的客户机版本.
Vultr 商家有新增韩国首尔机房,这个是继日本、新加坡之后的第三个亚洲机房。不过可以大概率知道肯定不是直连中国机房的,因为早期的日本机房有过直连后来取消的。今天准备体验看看VULTR VPS主机商的韩国首尔机房的云服务器的速度和性能。1、全球节点PING速度测试这里先通过PING测试工具看看全球几十个节点的PING速度。看到好像移动速度还不错。2、路由去程测试测试看看VULTR韩国首尔机房的节点...
virmach怎么样?virmach家这几年非常火,从商家的黑五闪购开始,以超低的价格吸引了大批的国人客户,而且商家的机器还是非常稳定的,站长手里的4.75刀年付已经用了两年了,非常稳定,不过商家到国内的线路一般,目前商家新上了夏季优惠促销,价格低到发指,年付7.2美元起,商家反馈将在9月开始更换AMD+NVMe平台,这个消息从年初就有了,不过一直没有更换,目前这个时间也不确定是否准确。点击进入:...
零途云(Lingtuyun.com)新上了香港站群云服务器 – CN2精品线路,香港多ip站群云服务器16IP/5M带宽,4H4G仅220元/月,还有美国200g高防云服务器低至39元/月起。零途云是一家香港公司,主要产品香港cn2 gia线路、美国Cera线路云主机,美国CERA高防服务器,日本CN2直连服务器;同时提供香港多ip站群云服务器。即日起,购买香港/美国/日本云服务器享受9折优惠,新...