Skip to content

[r2cn] 基于 GCP 部署 Mega 构建相关服务与执行环境 #1841

@benjamin-747

Description

@benjamin-747

[任务] 基于 GCP 部署 Mega 构建相关服务与执行环境

[任务分值] 60 分

[背景描述]

在 Mega 构建体系中,平台侧服务(如 Mega 核心服务、Orion-server)主要负责:
• 构建任务的创建与调度
• 构建元数据、日志、状态管理

而真正执行构建任务的能力,依赖于一组独立的 构建执行环境与服务,包括:
• Orion 构建客户端(Worker / Agent)
• 承载构建任务的执行节点
• 构建过程中所需的存储、缓存与网络能力

目前,Mega 在 AWS 上已经通过 Terraform 完成了上述能力的部署与验证;
为了支持多云部署、成本与算力调度、以及后续扩展,需要在 GCP 上构建一套等价的构建执行环境,并确保其能够无缝对接现有 Mega / Orion-server。

[需求描述]

一、目标

  • 在 GCP 上部署并运行 Mega 的构建相关服务
  • 提供稳定、可扩展的构建执行环境
  • 与已有 Mega / Orion-server 的构建调度模型保持一致

二、核心需求

  1. Orion 构建客户端(Worker)部署
  • 在 GCP 上部署 Orion 构建客户端
  • 支持:
    • 自动注册到 Orion-server
    • 心跳上报与状态管理
    • 构建任务拉取与执行
  • 支持通过 Terraform 管理生命周期
  1. 构建执行节点设计
  • 明确构建执行模型:
    • Compute Engine VM
    • 或 GKE Node Pool / Job(视构建需求而定)
  • 节点需满足:
    • 构建所需的 CPU / 内存 / 磁盘性能
    • Docker / Buck2 / Rust 工具链运行需求
  • 为后续扩展(多规格 / 弹性扩缩)预留空间

[代码标准]

  1. 所有 PR 提交必须签署 Signed-off-by 和 使用 GPG 签名,即提交代码时(使用 git commit 命令时)至少使用 -s -S 两个参数,参考 Contributing Guide
  2. 所有 PR 提交必须通过 GitHub Actions 自动化测试,提交 PR 后请关注 GitHub Actions 结果;
  3. 代码注释均需要使用英文;

[PR 提交地址] 提交到 mega 仓库的 main 分支 `` 目录;

[开发指导]

  1. 认领任务参考 r2cn 开源实习计划 - 任务认领与确认;

[导师及邮箱] 请申请此题目的同学使用邮件联系导师,或加入到 R2CN Discord 后在 #p-meta 频道和导师交流。

  1. Quanyi Ma genedna@gmail.com
  2. Tianxing Ye yetianxing2014@gmail.com

[备注]

  1. 认领实习任务的同学,必须完成测试任务和注册流程,请参考: r2cn 开源实习计划 - 测试任务r2cn 开源实习计划 - 学生注册与审核

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions