问题描述

自托管 Runner 在运行 setup-dotnet 时出错,查看日志有错误信息

mkdir: cannot create directory '/usr/share/dotnet': Permission denied

无法创建目录所以无法安装 dotnet

解决方法

在 setup-dotnet 的 issue 有相关讨论,但官方还没有计划解决

目前可以通过手动设置 dotnet 的安装目录来规避此问题

编辑 Actions 的配置文件,在任务下添加 env 环境变量,并设置 DOTNET_INSTALL_DIR 值

jobs:
  job1:
    name: very important job
    runs-on: [self-hosted]
    env:
        DOTNET_INSTALL_DIR: "$HOME/.dotnet"

Self-Hosted Runner 可以用于单个仓库也可以用于整个 GitHub 组织,由于我的组织内没有仓库不方便测试,所以以下内容围绕单个仓库进行(组织范围的 Runner 搭建方式大同小异,只是 GitHub 入口和 Runner 设置的 token 不一样)

环境

  • Debian 12 x64

参考

搭建

在仓库内打开 Settings - Actions - Runners,点击 New self-hosted runner,选择运行 Runner 机器的操作系统和架构(我使用的是 Debian 12,所以这里选择 Linux x64)

Continue reading "GitHub Actions Self-Hosted Runner 的搭建和使用"