嗨,我是 github 操作的新手,我正在尝试使用 Github 操作创建 CICD 管道。我正在使用 digital ocean droplet UBUNTU 20.04 作为我的服务器,我正在尝试创建一个运行器,如 ->settings->actions 中所述
当我写下以下命令时
./config.sh --url https://github.com/basobaasnepal/BasobaasWeb --token DFGFSDF234sf3fg45hd
我收到此信息:不能使用 sudo 运行
我尝试将 root 用户更改为非 root 用户,但没有成功。我也尝试过,export {AGENT_ALLOW_RUNASROOT="1"}
但也没有成功。
答案1
要使用的环境变量是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
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 用户身份运行它时遇到了什么问题?