版权所有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.
因此,如果必要的话,将保存原始的客户机以供以后进行克隆,并且为您的定制提供一个新的客户机版本.
丽萨主机怎么样?丽萨主机,团队于2017年成立。成立之初主要做的是 CDN 和域名等相关业务。最近开辟新领域,新增了独立服务器出租、VPS 等业务,为了保证业务质量从一开始就选择了中美之间的 CN2 GIA 国际精品网络,三网回程 CN2 GIA,电信去程 CN2 GIA + BGP 直连智能路由,联通移动去程直连,原生IP。适合对网络要求较高的用户,同时价格也比较亲民。点击进入:丽萨主机官方网站...
已经有一段时间没有听到Gigsgigscloud服务商的信息,这不今天看到商家有新增一款国际版线路的美国VPS主机,年付也是比较便宜的只需要26美元。线路上是接入Cogentco、NTT、AN2YIX以及其他亚洲Peering。这款方案的VPS主机默认的配置是1Gbps带宽,比较神奇的需要等待手工人工开通激活,不是立即开通的。我们看看这款服务器在哪里选择看到套餐。内存CPUSSD流量价格购买地址1...
传统农历新年将至,国人主机商DogYun(狗云)发来了虎年春节优惠活动,1月31日-2月6日活动期间使用优惠码新开动态云7折,经典云8折,新开独立服务器可立减100元/月;使用优惠码新开香港独立服务器优惠100元,并次月免费;活动期间单笔充值每满100元赠送10元,还可以参与幸运大转盘每日抽取5折码,流量,余额等奖品;商家限量推出一款年付特价套餐,共100台,每个用户限1台,香港VPS年付199元...