当使用“sudo su”时,jenkins在ssh上执行shell
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了当使用“sudo su”时,jenkins在ssh上执行shell相关的知识,希望对你有一定的参考价值。
Exec command
的execute shell over ssh
,我只把命令sudo su
放在那里。
但是当我构建项目时,它总是停在命令sudo su
直到超时。
答案
欢迎来到StackOverflow。
sudo
sudo用于自定义安装,系统文件修改等
Interactive shells (human in front of monitor)
当您执行sudo之前的某个命令时,此shell将询问您某个特权用户的密码。此ask事件等待用户响应:
Background executions
某些进程,crons,脚本或jenkins等应用程序需要执行sudo命令。但在此模式下,无法输入密码。这是你超时的原因
Solutions
- 禁用requiretty https://gist.github.com/jrichardsz/1adaaa07885b45d497b519431701a943 这种方法的安全风险: https://unix.stackexchange.com/a/65789/188975
- 在Jenkins中使用伪TTY https://unix.stackexchange.com/a/373843/188975
以上是关于当使用“sudo su”时,jenkins在ssh上执行shell的主要内容,如果未能解决你的问题,请参考以下文章
SSH到服务器,Sudo su - 然后在bash中运行命令[重复]