簡體   English   中英

如何在 Jenkins 聲明式管道中運行“sudo su”命令?

[英]How to run "sudo su" command in Jenkins Declarative pipeline?

我有一個奇怪的情況,shell 命令“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 用戶運行。 但是,我在管道中有一個 shell 命令,它應該切換到一個名為“ansible”的用戶。 但是,當執行“whoami”命令時,它會返回“jenkins-slave”本身的輸出。 任何人都可以幫助了解這里出了什么問題嗎?

每個 sh 命令都在單獨的工作表中執行。 最好寫一個 sh 並執行它會起作用的操作

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM