Jenkins构建时,在控制台输出上显示错误,如下所示:
sudo: a terminal is required to read the password; either use the -S option to read from standard input or configure an askpass helper
我该怎么解决这个问题?
在configure的Execute Shell中有以下命令:
sudo pnpm run build
sudo kill -9 $(sudo lsof -t -i:3000)
输出:
16:42:03 > git config core.sparsecheckout # timeout=10
16:42:03 > git checkout -f 9998780d6a154bab01b4c010616f25a6f018d80c # timeout=10
16:42:03 Commit message: "fix swr"
16:42:03 > git rev-list --no-walk 9998780d6a154bab01b4c010616f25a6f018d80c # timeout=10
16:42:04 [ProjectReact] $ /bin/sh -xe /tmp/jenkins14253074063433648143.sh
16:42:04 + sudo pnpm run build
16:42:04 sudo: a terminal is required to read the password; either use the -S option to read from standard input or configure an askpass helper
16:42:04 Build step 'Execute shell' marked build as failure
16:42:04 Finished: FAILURE
如果我不在pnpm命令的开头使用“sudo”命令,但需要将其用于kill端口并重新启动
2条答案
按热度按时间92dk7w1h1#
从脚本中删除
sudo
,并让pnpm
在没有它的情况下运行--反正它不需要root权限。sudo
旨在由人类用户在终端中使用,默认情况下,它需要用户的密码来运行具有提升权限的命令。在Jenkins上运行作业时,不应使用
sudo
。vnzz0bqm2#
我找到了在jenkins execute shell中使用sudo命令的解决方案。
在注解#用户权限规范下添加以下行。
之后,我可以在jenkins中使用“sudo”命令。