我遇到了一个奇怪的情况,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并进行操作,它将工作