Как запустить команду sudo su в декларативном конвейере Jenkins? - PullRequest
0 голосов
/ 25 февраля 2020

У меня странная ситуация, когда команда оболочки "sudo su" не работает должным образом в декларативном конвейере Jenkins. Ниже мой код:

 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-slave. Тем не менее, у меня есть команда оболочки в конвейере, которая должна переключиться на пользователя с именем "ansible". Но когда команда whoami выполнена, она возвращается с выводом самого jenkins-slave. Может кто-нибудь помочь, что здесь происходит не так?

1 Ответ

0 голосов
/ 25 февраля 2020

каждая sh команда выполняется в отдельном виде. лучше напиши один sh и сделай операцию, она будет работать

...