在使用 Jenkins pipeline 的时候,在 Linux 需要用 root 来执行,我想通过 Jenkins pipeline 的语法来解决,但是只找到这种方式:SSH Pipeline Steps
def remote = [:] |
从 example 来看需要提供的参数比较多,很多参数我已经在 Pipeline 的 environment 已经设置过了,这里再设置就显得不够优美,且限于没有足够的 example,你知道的 Jenkinsfile 调试非常痛苦和麻烦,我就没通过这种方式来尝试解决。
通过 Linux 设置来解决
// open a shell console and type |
但即使这样设置,通过 Jenkins 执行 shell 脚本的时候还是出现如下问题
sudo: no tty present and no askpass program specified |
最后通过如下脚本解决了我的问题
// Jenkinsfile |
如果你有更好的方式,欢迎留言评论,谢谢。