当我尝试运行管道时,我得到以下错误
sudo: a terminal is required to read the password; either use the -S option to read from standard input or configure an askpass helper
这与gitlab运行程序权限有关吗?我试过让它完全访问,但还是失败了。有人能帮我吗?
我正在遵循gitlab上提到的指南https://docs.gitlab.com/runner/install/linux-manually.html
Gitlab Runner版本:13.4.1Git修订版:e95f89a0Git分支:13-4-稳定GO版本:go1.13.8建成时间:2020-09-25T20:03:43+0000操作系统/架构:linux/amd64
Ubuntu分发服务器ID:Ubuntu说明:Ubuntu 20.04.1 LTS发布时间:20.04代号:焦点
我似乎找到了一个变通方法。
如@makesim.danilin在https://gitlab.com/gitlab-org/gitlab-runner/-/issues/2126
- 从/home/gitlab runner删除
.*
文件中的所有文件 - 如果您在gitlab runner文件夹中,
rm *
应该会起作用
进一步遵循@Reactgular的解决方案(如何在gitlab ci的构建脚本中使用sudo?(
- 向
gitlab-runner
用户授予sudo权限$ sudo usermod -a -G sudo gitlab-runner
- 删除gitlab runner用户的sudo密码限制
$ sudo visudo
- 将以下内容添加到文件底部
- gitlab runner ALL=(ALL(NOPASSWD:ALL
如果错误显示为";命令未找到"。请确保$PATH中有/usr/local/bin/作为root,否则可能会出现找不到命令的错误。或者,您可以在其他位置安装gitlab runner,如/usr/bin/。
只需检查
echo$PATH
我已经记录了gitlab运行程序的设置。欢迎参考!https://github.com/edureka2021/gitlab.git
我最近在设置gitlab CI运行程序时遇到了同样的错误。在我的案例中,sudo错误掩盖了另一个错误:找不到命令。就像健全性检查一样,确保您可以作为CI用户从shell运行命令,以确保您没有看到来自sudo的误报。