Github Actions Self-Hosted 本地运行Actions

皇甫才良
2023-12-01

如果你正在使用 Github Actions,并希望通过本机进行 Workflow 如编译等计算加速,本文将带你快速入门。
注意本文需要你具备一定 Actions 和 Workflow 基础知识。

准备计算机

云计算机或本机,这由你的喜好而定,系统对应 Workflows 所需 OS 即可。
如 runs-on:ubuntu 和 runs-on:windows 分对应 Ubuntu 和 Windows 系统。

基本配置

  • Git
  • Docker
  • sudo权限

一键脚本

sh -c "$(curl -fsSL https://gist.githubusercontent.com/gjgd/5a08da85a98bf147294f331461e44d1f/raw/a63bf0f4169a8ab651adfa0a56e676e6bc465876/setup-github-action-runner.sh)"

或手动的

# 更新 apt 源及软件
sudo apt update -y
sudo apt upgrade -y

# 安装最新 Git
sudo add-apt-repository ppa:git-core/ppa -y
sudo apt-get update
sudo apt-get install git -y

# 安装并配置 Docker
sudo apt install docker.io docker-compose -y
sudo systemctl enable docker
sudo gpasswd -a $USER docker
newgrp docker

# 添加当前用户到 sudoer 文件
# https://linuxize.com/post/how-to-add-user-to-sudoers-in-ubuntu/
echo "${USER}  ALL=(ALL) NOPASSWD:ALL" | sudo tee "/etc/sudoers.d/${USER}"

Action Runner

在运行环境下载 action runner,并根据 self-hosted 步骤添加 runner 至仓。
最后,在 workflow 中使用 runs-on: self-hosted 并运行 action 即可。

name: CI
on: [push]
jobs:
  ci:
    runs-on: self-hosted
    steps:
      (...)
 类似资料: