如何在 Jenkins 声明式管道中运行"sudo su"命令?



我遇到了一个奇怪的情况,shell命令"sudo su"在Jenkins Declarative管道中没有按预期工作。以下是我的代码:

stages {
stage('Ansible-dynamichost-generation') {

steps {
ansiColor('xterm') {

sh 'chmod -R 777 /home/jenkins-slave/'
sh 'sudo su ansible'

sh '''#!/bin/bash -l 
#Execute commands
echo "$WORKSPACE"
whoami
'''
}
}
}
}

这个管道正由一个jenkins从属用户运行。然而,我在管道中有一个shell命令,它应该切换到一个名为"ansible"的用户。但是,当执行"whoami"命令时,它会返回"jenkinsslave"本身的输出。有人能帮忙查一下这里出了什么问题吗?

每个sh命令都在sperate sheel中执行。最好写一个sh并进行操作,它将工作

最新更新