Tom*_*iak 7 continuous-integration github multiprocessing devops github-actions
一个自托管运行器一次只能运行一个作业,当没有可用运行器空闲时,后续作业将排队等待,直到有可用运行器空闲。
我可以通过在具有多个 CPU 的同一台机器上运行多个自托管运行器来实现并行性吗?
在GitHub Actions - Getting Started - Usage Limits我发现:
您可以在您的帐户中运行的并发作业数取决于您的 GitHub 计划,如下表所示。如果超过,任何其他作业都会排队。自托管运行器没有并发限制。
但我不确定如何在多核机器的上下文中理解这一点。
Pet*_*uin 16
一名运行者同时只能运行一项作业。这与机器有多少个核心无关。
但是,您可以在同一台计算机上安装并运行多个运行程序。
当您完成安装向导时,系统会要求您提供一个目录。如果您用于/home/github/action-runner第一个目录,则可以用于/home/github/action-runner-2第二个目录。他们将拥有完全不同的工作空间。
为额外的跑步者指定一个唯一的名称。
如果您使用 systemd 管理服务,最后一步是为额外运行创建第二个 systemd 单元文件,其中包含唯一的服务名称和与WorkingDirectory=您上面使用的目录相匹配的目录:
# for example, this might be /etc/systemd/system/ actions.runner.MyCorp.ci-2.service
[Unit]
Description=GitHub Actions Runner (RideAmigosCorp.ci-2)
After=network.target
[Service]
ExecStart=/home/github/action-runner/runsvc.sh
User=github
# The working directory here must match the one during setup
WorkingDirectory=/home/github/action-runner-2
KillMode=process
KillSignal=SIGTERM
TimeoutStopSec=5min
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)