尝试使用 github-actions 创建运行程序时不得使用 sudo 运行

Riw*_*ise 14 ubuntu github-actions

您好,我是 github actions 的新手,我正在尝试使用 Github action 创建 CICD pipline。我正在使用数字海洋水滴 UBUNTU 20.04 作为我的服务器,我正在尝试创建一个跑步者,如 ->settings->actions 中所述

当我写下以下命令时 ./config.sh --url https://github.com/basobaasnepal/BasobaasWeb --token DFGFSDF234sf3fg45hd

我得到了这个: 不能使用 sudo 运行

我尝试将 root 用户更改为非 root 用户,但没有成功。我也尝试过export {AGENT_ALLOW_RUNASROOT="1"},但也没有运气。

Pau*_*aul 19

要使用的 env 变量是RUNNER_ALLOW_RUNASROOT="1" 您可以:

  • 在运行 config.sh 之前使用以下命令导出它export RUNNER_ALLOW_RUNASROOT="1"
  • 像这样启动 config.sh :RUNNER_ALLOW_RUNASROOT="1" ./config.sh --url...

一开始config.sh你可以看到以下测试:

user_id=`id -u`
if [ $user_id -eq 0 -a -z "$RUNNER_ALLOW_RUNASROOT" ]; then
    echo "Must not run with sudo"
    exit 1
fi
Run Code Online (Sandbox Code Playgroud)

user_id=`id -u` :获取当前用户的uid,并将其存储到user_id中。
$user_id -eq 0:与0比较(0是root的uid)。
-a -z "$RUNNER_ALLOW_RUNASROOT"-a -z测试变量是否存在且不为空。

因此,在我们的例子中,我们可以这样做RUNNER_ALLOW_RUNASROOT="0",甚至RUNNER_ALLOW_RUNASROOT="cool"可以这样做,但它会起作用,但RUNNER_ALLOW_RUNASROOT=""不会起作用。

我很好奇当您尝试以非 root 用户身份运行它时遇到什么问题?

  • 一般来说,编辑第三方提供的脚本不是一个好习惯。例如,如果您需要升级运行程序,您将再次下载脚本,并且必须再次修改它。使用环境变量更容易。 (4认同)