Compile Farm与Library管理

来源:互联网 发布:苍龙级潜艇 知乎 编辑:程序博客网 时间:2024/05/18 02:25

http://www.sourceforge.net,每个开源爱好者经常光顾的地方,已经成为世界最大的开源软件项目管理平台。
虽然她已久负盛名,我相信她的很多诱人的服务还不为大多数中国程序员所知。
Compile Farm,这个服务是SourceForge平台一个亮点。我很久就听说该服务,但一直没有机会尝试。Compile Farm是一个供软件编译和测试的在线平台,她由多台(应该是12台)不同操作系统(6种)不同硬件平台(5种)组成:

32位 x86:

X86-linux2:Fedora Linux FC2 running Linux 2.6 kernel
X86-openbsd1:OpenBSD 3.4
X86-solaris1:Sun Solaris 9
X86-linux1:Debian GNU/Linux 3.0 running Linux 2.4 kernel
X86-freebsd1:FreeBSD 4.8
X86-netbsd1:NetBSD 1.6.1

AMD 64-bit (Opteron) Architecture:

amd64-linux1: Fedora Core release 3 running Linux 2.6 kernel
amd64-linux2: Fedora Core release 3 running Linux 2.6 kernel

DEC Alpha (ev67) Architecture:

alpha-linux1: Debian GNU/Linux 3.0 running Linux 2.2 kernel

PowerPC Architecture:

ppc-osx1: Apple Mac OS X 10.1 Server with Fink running on an Apple Mac G4
ppc-osx2: Apple Mac OS X 10.2 Server with Fink running on an Apple Mac G4
Sparc (UltraSPARC-II) Architecture:

sparc-solaris1, sparc-solaris2: Sun Solaris 9, running on two Sun Enterprise 220R systems

IBM Power5 Architecture:

openpower-linux1: SuSE Enterprise Linux 9, running on an IBM OpenPower 720 (e-Series) host.

Compile Farm的软件编译过程
1 上传源代码
2 登录Compile Farm
3 访问某个Compile Farm服务器
4 编译(解包,配置,编译)软件,修改bug。
5 测试软件
6 发布Packages
7 下载软件。


软件编译需要GNU Autoconf, 配置configure脚本来编译程序。
测试软件可以使用testsuite,通常是make check命令,

编译工具有:C Compilers,Assemblers,Build Tools,Debuggers,Packaging System等

商业开发项目的Library管理:

软件版本控制一直是软件开发项目管理的重点。在系统维护阶段,不定期会修改系统bug,改变或升级系统某个功能,如果软件版本不善会造成不可预测的灾难。
因此不仅开源软件平台需要这个Compile Farm,我认为商业开发项目更需要这个平台,不过不用像SourceForge这么多的系统平台,而是针对项目实际情况搭建我称为Library管理的Compile Farm平台。
Library管理需要Compile Farm的编译(解包,配置,编译)软件功能外还需要,
自动发布到运行环境的功能,例如运行系统每天晚12:00自动关闭的话,在午夜1:00批处理程序自动将Library管理平台的新的软件包发布到运行系统中。第二天早上6:00系统启动时,已经运行的是新的软件包了,
版本控制功能,例如Library管理平台从制定CVS或SVN checkout源代码来编译,并将编译好的软件checkin到CVS或SVN管理起来。
环境配置功能,能根据发布的环境的不同,采用不同的编译参数。
当然Library管理还需要人为的各种审计功能,在这就不详述了。