【发布时间】:2021-01-11 09:20:37
【问题描述】:
我承认我是 Jenkins 的新手。 我有
Jenkins-tls
安装在我的 Mac 上进行实验。 我有一个用于测试的远程服务器。 我的 Jenkins 脚本非常简单。
ssh to the remote machine
sudo pm2 ls
最后一个命令刚刚挂起
我从命令行运行相同的 2 个命令,一切正常。 仅供参考,我需要 sudo 来运行 pm2,因为我需要 root 才能运行 pm2,没有 sudo,我会被拒绝访问。
有什么想法吗?
【问题讨论】:
-
sudo 需要你输入密码吗?
-
不是当我在 shell 中并登录到那台机器时。当我从 Jenkins 运行它时,我是从 shell 而不是服务运行 Jenkins,我看到它要求输入密码。所以这是一个很大的线索
-
您希望
sudo pm2 ls在远程机器上执行吗?因为它不是。当你顺序输入这两个命令时,sudo 会在远程机器上执行,但是 jenkins 中的任何命令都是同步执行的,即 sudo 在 ssh 返回后 运行(例如远程会话终止时) .