Build Service
From openSUSE
Contents |
特点
在上面的介绍部分我们已经提到编译服务是一个完整的分发开发平台,为开发未来的基于openSUSE的分发提供了基本架构。
它也具有为其它Linux发行提供编译和打包的功能,像Fedora、Debian、Ubuntu等。
openSUSE的用户能够容易的通过web界面 http://software.opensuse.org/ 来浏览并下载最新的软件包。
开放的接口允许外部服务(如SourceForge)和web页面与编译服务进行交互并使用它所提供的接口。
更好的是已经获取用户/信任管理的任何人都可以访问编译服务,并能创建更多的构建目标(如LSB、Xen镜像)。
优势
对于开发者
- 不在需要不同硬件平台的"编译农场"来为不同的体系结构而构建包。
- 生产更好的软件:一些软件项目仍使用16位的程序,对于为什么他们的代码不能在32位或64位平台上编译而感到惊讶。
- 自动解析对其它包的依赖关系。如果一个包依赖另一个包,那么当依赖的包重新构建时这个包也会被自动重新构建。
- 链接其它项目:从其它的项目中补丁能够在最新的包中测试。例如:一个开发人员有一个Amarok的补丁,并想在定义好的环境中测试这个补丁。他创建了一个到KDE项目的链接,并使用它来作为自己的测试环境。结果是:当KDE项目开始一次新的构建时,他的Amarok的补丁版本将也被重新构建。
对于用户
- 总是能获取到他们所分发的软件的最新版本。通过使用编译服务的信任关系,用户能够声明“我信任项目xy”然后只从这个项目中安装包。
- 为老版本的分发获取升级包。(像为SL 10.0获取一个新的KDE 3.5.3)
- 在不同的分发之间更统一。来自于编译服务的包能够将人们结合在一起来考虑“为什么他们这么做?为什么他们使用的这个目录?-我也想为我自己的分发这么做。”(但是这些都是将来的事情... :-)
如何找到并安装包?看这。
对于分发者
- 编译服务能够容易地创建完整的分发或在许多地方都使用的变更后的镜像。KIWI的第一个版本已经发布,用于创建从网络启动的镜像或用于Xen和VMware的镜像。
路线图
如何使用它
可以通过多种方式来使用编译服务,如借助于Web界面、命令行工具或使用API的任何工具。需要制作包的人员也应该阅读如何交叉分发包 和 编译服务教程。
帐号目前只给那些有经验的并大家都知道的打包人员,他们能够处理编译服务的最初状态。如要获取一个帐号,请阅读在编译服务教程中的登录部分。您将会被问及您想用编译服务做什么,然后过些天您的帐号将会被启用或不被启用。
在编译服务技巧上可以发现一些技巧。
开源项目夏令营
有几个Google开源项目夏令营的项目是以openSUSE编译服务为背景而进行着:
编译服务源代码
SVN 仓库
编译服务工具的源代码和文档在forge.novell.com站点上可以找到。 这个仓库包含了客户端工具和服务端的源代码。
目前他们的SVN服务器好像有些问题,直到问题解决才可以检出代码。
安装包
安装包在编译服务器中,但是安装包仍没有真正的生产出来。在他们能够被公开使用之前仍有很多工作需要做。从openSUSE:/Tools repository可以找到这个包。以obs-*来查找包(openSUSE编译服务)。
如何贡献
与多数的开源项目类似,您可以贡献您编写的补丁或您计划开发的一些想法。那些己被证明能正确运行的代码的提交人将会有对SVN仓库的写访问权限。
目前您也可以参加Google开源夏令营中的openSUSE编译服务项目。参见Summer of Code 2006页面来了解详细信息和项目的想法。
文档
- 编译服务教程 向您展示了创建自己的工程和安装包的基本步骤。
- 编译服务安装教程解释了如何在本地服务器上安装编译服务。
- 提示与技巧解释了一些特征和技巧。
- 您能够在 新闻 页面上获取最新的信息。
- 我们在FOSDEM提供了2个关于编译服务的谈话。第一个谈话概述了编译服务的想法和架构。第二个谈话详细描述了项目的模型并解释了如何构建多个分发,包括openSUSE、Fedora、Mandriva和Debian。
- 一篇重要的文档是API。这个API提供一个简单通用的接口来与编译服务器交互。您可以使用它来集成编译服务访问的功能到您的工具中,如提交代码更新、检查您的项目的当前状态或做些又酷又与众不同的东东。
- 您不喜欢我们的Web界面或命令行工具?您或者改善它或者编写您一个自己满意的。它们俩的源代码也能够从工厂仓库中获取。
联系方式
请订阅opensuse-buildservice邮件列表 (存档)。非常欢迎您的反馈信息,尤其是补丁、新的工具和新的想法。
我们也有一些人在freenode的#openSUSE-buildservice频道上泡着。
Web客户端
命令行工具
编译服务当前有两个命令行工具。与它们相关的描述在:
另外,如果您是编译服务的开发者,您也许对如何借助curl使用编译服务的restAPI感兴趣

