`
touchinsert
  • 浏览: 1340018 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Compile Farm与Library管理

阅读更多

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


分享到:
评论

相关推荐

    compile_compile

    compile

    compile_protobuf_protobuf:compile_protobuf_

    标题"compile_protobuf_protobuf:compile_protobuf_"指的是使用protobuf编译器来处理.proto文件的过程。这个过程涉及到将.proto文件编译成特定编程语言(如C++、Java或Python)的源代码,以便在程序中使用protobuf...

    Design Compile 介绍.7z

    3. **时序分析与约束管理**:讨论如何使用Design Compile进行时序分析,设定和管理时序约束,以达到预期的时序性能。 4. **物理感知综合**:解释Design Compile如何利用物理信息进行早期布局布线(Early Place and ...

    proteus元件库

    2、到菜单Library的Compile to library项,出现下面对话框。 3、这样原理图的所有元件将添加到USERDVC.LIB中,我们到库管理器中将不需要的删除。 4、菜单Library的Library Manager项,出现用Delete Itdms将除I2C Spy...

    base-library.zip

    10. **sre_compile.pyc**: 正如前面提到的,`sre_compile`与`sre_parse`一起工作,负责将解析后的正则表达式结构编译成高效的字节码,以供Python的正则表达式引擎使用。 以上这些模块构成了Python基础库的核心部分...

    Design Compile使用说明

    Design Compile的核心功能包括逻辑综合、优化和约束管理。逻辑综合是将行为描述的硬件设计转换成等效的逻辑电路,这个过程涉及到各种优化技术,如面积优化、速度优化和功耗优化,以满足设计者设定的目标。DC提供了...

    Compile-CC编译器源代码

    此外,它还需要处理内存管理、函数调用和返回等细节。 5. **错误处理**:在编译过程中,Compile-CC需要处理各种可能出现的错误,如语法错误、类型错误、运行时错误等,并向用户提供清晰的错误信息,帮助他们定位和...

    color-compile - 源码

    `color-compile`是一个实用工具,它为`gcc/g++/make`编译过程中的错误、警告和提示信息添加了颜色高亮,使得输出更加醒目,从而帮助开发者更快地识别问题所在。在某些不支持颜色输出的系统上,这个工具尤其有用。 ...

    js-conditional-compile-loader-1.0.15.tgz

    开发者可能遇到了与官方包不兼容的问题,或者官方版本中存在未解决的错误,因此这个个人版提供了替代方案。使用这个包,开发者可以避免因官方包的bug影响项目的正常运行,同时也能享受到条件编译带来的便利。 条件...

    javacompile

    如果“javacompile”与图形界面有关,那么这个文件可能提供了必要的接口支持。 2. **javacompile.dll** - 如前所述,这可能是一个与Java编译相关的动态链接库,提供了编译过程中的某些特定功能。 3. **jc.exe** - ...

    compile_commands.json

    win10下vim开发stm32编译数据库文件例子

    Python-2.7.13-xcompile.patch

    Python-2.7.13-xcompile.patch

    Compile85.docx

    Compile

    javaCompile.exe

    javaCompile.exe是一个Editplus插件。 可以简化java程序运行流程。 直接运行java,不再先编译再运行。 减少无效动作,增加开发效率。

    python-3.2.2-xcompile.patch

    增强了垃圾回收机制,优化了内存管理;还引入了新的语法特性,如“with”语句和“yield from”表达式。然而,对于不同的硬件平台,编译Python源代码可能会遇到兼容性问题,这就是“xcompile.patch”存在的原因。 ...

    前端开源库-post-compile-webpack-plugin

    ### 插件安装与配置 要使用`Post-Compile Webpack Plugin`,首先需要通过npm或yarn将其安装到项目中: ```bash npm install --save-dev post-compile-webpack-plugin # 或 yarn add --dev post-compile-webpack-...

    PhotoView 图片浏览缩放控件

    compile 'com.bm.photoview:library:1.4.1' } 2.xml添加 <com.bm.library.PhotoView android:id="@+id/img" android:layout_width="match_parent" android:layout_height="match_parent" android:scaleType=...

    The Python 3 Standard Library by Example (Developer's Library)

    The Python 3 Standard Library by Example (Developer's Library) by ...Test, debug, compile, profile, language, import, and package tools Control interaction at runtime with interpreters or the environment

    Compile-Time Intervals Library-开源

    而**Compile-Time Intervals Library**,正如其名,是针对编译时操作的一个专门扩展,用于处理和管理编译时的间隔计算。 **间隔的概念与应用** 在数学和计算机科学中,间隔通常表示一个数值范围,比如[1, 5]。在...

    Python库 | pip_compile_multi-1.5.0-py2.py3-none-any.whl

    `pip_compile_multi`是一个Python库,专为管理Python项目的依赖关系而设计,尤其在大型项目中,它能有效地帮助我们组织和自动化`requirements.txt`文件的生成。这个库的版本为1.5.0,支持Python 2和Python 3两种解释...

Global site tag (gtag.js) - Google Analytics