GitHub Actions 自主托管运行器:Runs-On 指南

GitHub Actions 自主托管运行器:Runs-On 指南

runs-on 10x cheaper GitHub Action runners. On premise. runs-on 项目地址: https://gitcode.com/gh_mirrors/ru/runs-on

项目介绍

Runs-On 是一个开源项目,旨在提供一种经济高效且高性能的解决方案来运行 GitHub Actions 的自主托管运行器。相比于官方提供的服务,它声称可以减少高达 90% 的持续集成(CI)成本,并实现快至 5 倍的缓存读取速度。Runs-On 支持在 Amazon Web Services (AWS) 上部署,通过自定义的 CloudFormation 模板,实现一键安装和升级,简化管理过程。此外,该框架兼容官方 GitHub 运行器的工作流配置,支持 Linux(包括 x64 和 arm64)、Windows 环境以及 GPU 支持,灵活运用 Spot 实例以降低成本并确保高可用性。

项目快速启动

安装准备

  1. 确保您有一个 AWS 账户,并配置好 AWS CLI。

  2. 克隆 Runs-On 仓库

    git clone https://github.com/runs-on/runs-on.git
    
  3. 配置 AWS 相关权限,确保您的 IAM 用户有足够权限创建和管理 AWS 资源。

部署到 AWS

  1. 修改配置(可选):如果需要对默认设置进行调整,根据 CloudFormation 模板文件进行相应配置。
  2. 执行部署命令
    cd runs-on
    make deploy
    

此命令将触发 AWS CloudFormation 模板的部署,自动构建您的自主托管运行环境。

在 GitHub 动作中使用 Runs-On

更新您的 .github/workflows/*yml 文件中的 runs-on 行,从使用官方运行器切换到 Runs-On:

jobs:
  build:
    runs-on: [runs-on, runner=2cpu-linux-x64, run-id=$[[ github.run_id ]]]

确保替换为适合您工作流程的具体配置标签。

应用案例与最佳实践

  • CI/CD 流水线加速:利用 Runs-On 的高速缓存机制,大幅缩短依赖项下载和 Docker 层构建的时间。
  • 成本优化:在资源需求波动大的场景下,通过 Spot 实例策略自动管理,节省计算成本。
  • 安全性增强:通过限制 SSH 访问特定 IP 范围和私有网络配置,增加运行器的安全性。

典型生态项目结合

Runs-On 可无缝对接各种基于 GitHub Actions 的开发工作流,特别适用于那些需要高度定制化或有特殊性能要求的项目:

  • 大型软件项目:如使用微服务架构的云原生应用,需要频繁且复杂的构建和测试流程。
  • 机器学习研发:项目中涉及大量数据处理和模型训练,GPU支持成为重要优势。
  • 多环境部署验证:在不同的 AWS 区域、环境变量配置下自动化部署测试。

通过 Runs-On 结合 AWS 的丰富服务(如 CodePipeline 和 CodeBuild),开发者能够构建更加健壮、高效且成本可控的DevOps流程。


本指南提供了基础框架以帮助开发者快速上手 Runs-On 项目,深入实践时建议参考其官方文档和社区讨论,获取最新信息和技术支持。

runs-on 10x cheaper GitHub Action runners. On premise. runs-on 项目地址: https://gitcode.com/gh_mirrors/ru/runs-on

猜你喜欢

转载自blog.csdn.net/gitblog_00046/article/details/142807296