openSUSE:OBS Light Appliances
OBS Light 客户端应用
这是一个预装了 OBS Light 客户端的 openSUSE 应用。
官方版本
http://susestudio.com/a/e0uuBG/obs-light-obs-client
开发版本
http://susestudio.com/a/e0uuBG/obs-light-obs-client-devel
包含的软件
建议
- 至少为应用分配 512MB 内存。
- 如果使用 OBS 服务器应用,请在以下文件中插入一个指向其 IP 地址的条目/etc/host的客户端应用。这将简化 OBS Light 的配置,并防止一些错误。
网络端口
| 端口 | 描述 |
|---|---|
| 83 | MIC 生成的镜像仓库 |
| 84 | 实时仓库,其中通过 obslight 本地构建的软件包发布 |
| 8000 | Fakeobs Web UI(如果安装了 obslight-fakeobs) |
| 8001 | Fakeobs API(如果安装了 obslight-fakeobs) |
| 8002 | Fakeobs 仓库(如果安装了 obslight-fakeobs) |
OBS Light 服务器应用
虽然运行 OBS Light 客户端应用 简单易用,只需要为虚拟机分配 1GB RAM,但运行 OBS 服务器应用可能会更具挑战性。 但是,通过虚拟机在您的台式机或笔记本电脑上(至少需要 4GB RAM)运行 OBS 服务器应用,在评估测试期间非常方便。
主要优点是您不需要从 IT 部门获得特殊授权即可开始使用,但您需要至少分配 2GB 内存给应用,以及您可以节省的尽可能多的 CPU 核心。 您需要在 OBS 服务器应用上的文件 /etc/sysconfig/obs-worker (需要 root 权限) 中设置变量 OBS_WORKER_INSTANCES 为 1(默认值为零),以限制应用在构建过程期间所需的 RAM 资源。 如果您计划构建大型软件包,例如 Chromium,您将需要分配超过 2GB 的 RAM(实际上,我的台式机有 16GB)。
您可以通过在单独的服务器上添加 obsworker 应用来克服此限制。 OBS Light 项目提供了一个预配置的应用,可以与 OBS Light 服务器应用一起工作。
如果您使用桥接模式,外部 OBS worker 应用将自动检测并使用(NAT 模式需要复杂的配置)。 Worker 可以在更强大的设备上运行,并加速在例如下班前将完整构建的项目放在笔记本电脑上的准备工作。 您可以使用命令 rcobsworker stop (需要 root 权限) 停止笔记本电脑上的 worker。 您可以使用命令 slptool findsrvs obs.source_server 检查您的 OBS Worker 应用是否可以看到您的 OBS Light 服务器应用。
通常建议使用桥接模式。 请注意 这不是 VirtualBox 的默认选项。 NAT 模式适用于通过 VPN 运行 OBS Light 服务器或进行不连接的演示。 在这种情况下,您需要在您的虚拟机管理器中声明 NAT 规则,将端口 443、444 和 82 从您的本地主机重定向到您的 OBS 应用的内部 NAT 地址 (在 Linux 下,VirtualBox 仅允许 root 用户重定向 1000 以下的端口)。
不要忘记在您的工作站中添加一个主机名 "obslightserver",指向 OBS Light 服务器应用的 IP 地址或 NAT 配置情况下的 localhost。
稳定
您可以在 SUSE Studio 上下载该应用
http://susestudio.com/a/e0uuBG/obs-obslight-obs-server
包含的软件
开发版
您可以在 SUSE Studio 上下载该应用
http://susestudio.com/a/e0uuBG/obs-obs-server-opensuse-12-1-devel
包含的软件
建议
- 至少分配 2GB 内存。
- 如果是在虚拟机中运行,请将网络设置为桥接模式。
- 如果必须使用代理,系统范围的配置文件是/etc/sysconfig/proxy。 请在 no_proxy 变量的开头添加 "obslightserver"。 一些用户报告说,即使模板中是大写,此变量名称也应以小写形式编写。 我们的建议是以大写和小写形式编写。 您还需要调整 $proxy 和 $noproxy 在/usr/lib/obs/server/BSConfig.pm。 然后不要忘记 重新启动。
网络端口
| 端口 | 描述 |
|---|---|
| 80 | 提供有关配置的一些信息的简单网页 |
| 82 | 实时仓库,其中通过 OBS 构建的软件包发布 |
| 83 | MIC 生成的镜像仓库 |
| 84 | 实时仓库,其中通过 obslight 本地构建的软件包发布 |
| 443 | OBS Web UI |
| 444 | OBS API |
| 8000 | Fakeobs Web UI |
| 8001 | Fakeobs API |
| 8002 | Fakeobs 仓库 |
如何添加交换空间?
要创建文件交换空间,以 root 身份连接并运行
# Swap size in kilobytes SWAPSIZE=524288 # Location of swap file SWAPFILE=/swapfile dd if=/dev/zero of=$SWAPFILE bs=1k count=$SWAPSIZE chmod 600 $SWAPFILE mkswap -f $SWAPFILE $SWAPSIZE swapon -v $SWAPFILE
如果希望在重新启动后保留,请将以下内容添加到 /etc/fstab
/swapfile swap swap defaults 0 0
如何加速构建:在 RAM 中构建
如果您有足够的 RAM(每个 worker 超过 1.5GB),建议将 worker 缓存移动到 RAM 磁盘。 在我们的 OBS 应用中,每个 worker 将其缓存放在/var/cache/obs/worker/root_N(N 是 worker 的 ID)。 我们的建议是在/var/cache/obs/worker上挂载一个 tmpfs 文件系统,并添加一个等效的 交换空间。
要将 16GB tmpfs 文件系统挂载到/var/cache/obs/worker,只需在服务器的/etc/fstab中添加以下行并重新启动
tmpfs /var/cache/obs/worker tmpfs defaults,size=16g 0 0
请注意,像 Tizen 的 webkit-engine 这样的大型软件包在构建时可能需要高达 14GB 的磁盘空间,因此您不应将少于 15GB 分配给 RAM 磁盘。
在云端运行
待补充: OBS on EC2