Compile Farm与Library管理

原创 2006年06月11日 10:08:00

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管理还需要人为的各种审计功能,在这就不详述了。


GitHub上制作自己的Library,直接compile使用

平时做项目肯定用了很多别人的库,如果有一个自己的库,那逼格就高了,以前用eclipse的时候,都是打成jar包使用,虽然用的时候也很方便,但是每次改动都要重新打包,感觉特别麻烦,15年接触了AS,但是...
  • lftaoyuan
  • lftaoyuan
  • 2017年03月15日 19:01
  • 10672

idea报错Cannot compile Groovy files: no Groovy library is defined for module 'xx'

File-Setting-Complier 把!?*.groovy;删除保存即可
  • lu_wei_wei
  • lu_wei_wei
  • 2017年07月24日 13:39
  • 2496

Torch - 错误getrf : Lapack library not found in compile time 解决

安装编译OpenBLAS:git clone https://github.com/xianyi/OpenBLAS.git
  • oJiMoDeYe12345
  • oJiMoDeYe12345
  • 2017年05月19日 17:19
  • 1155

idea报错Cannot compile Groovy files: no Groovy library is defined for module X'X

在idea中删除.Groovy即可,但是不知为何,再添加上去,又好了
  • u013083576
  • u013083576
  • 2017年02月27日 22:08
  • 1326

使用Device Farm真机测试Android程序

上个月AWS退出的Device Farm服务是可以通过把自己的Android包上传,在远端进行真机测试的服务。 这里测试一下整个流程。 进入Device Farm后,新建一个项目 从豌...
  • aws0to1
  • aws0to1
  • 2015年08月05日 22:01
  • 986

Android Studio 不错的开源库

/*仿IOS加载框*/ compile 'com.baoyz.actionsheet:library:1.1.5' /*仿IOS-UIActionSheet控件,https://github.com/...
  • daditao
  • daditao
  • 2016年01月27日 11:17
  • 3327

Android Studio基础之依赖管理(五)-学习篇

在我们的项目中,或我或少都会用到一起第三方的库,那么对它的管理也就成为了项目中的一部分。这里就介绍下在Android Studio中如何去管理项目中的库和它们的依赖。如何添加一个库Android St...
  • wx198210
  • wx198210
  • 2015年12月11日 15:51
  • 3544

调用matlab compiler编译出来的函数

All programs that call MATLAB Compiler generated shared libraries have roughly the same structure: ...
  • owldestiny
  • owldestiny
  • 2010年11月11日 16:45
  • 1801

ImageSelector

ImageSelector
  • u014608640
  • u014608640
  • 2016年09月18日 10:33
  • 1443

vim自动配置(YouCompleteMe)

An automatic configuration program for vim https://github.com/chxuan/vimplus Intro I usually use v...
  • CDUT100
  • CDUT100
  • 2017年04月26日 21:49
  • 650
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Compile Farm与Library管理
举报原因:
原因补充:

(最多只允许输入30个字)