groovy Jenkins管道上的多步shell命令

nkkqxpd9  于 2022-11-01  发布在  Jenkins
关注(0)|答案(2)|浏览(238)

我有一个jenkins作业,它有一个shell步骤,带有以下命令。它运行得很好!

sudo yum install python36
virtualenv -p python3 test
source test/bin/activate
<some other command>

现在我想把它变成一个管道。我如何在groovy中编写同样的代码呢?我尝试使用类似这样的语法,但是它失败了:

stage('Test') {
        steps {
            sh 'sudo yum install python36'
            sh 'virtualenv -p python3 test'
        }
    }
mqxuamgl

mqxuamgl1#

为了执行多个shell命令,您需要将它们括在一对三个单引号'''中:

stage('Test') {
        steps {
            sh '''
               sudo yum install python36
               virtualenv -p python3 test
               '''
        }
}
brccelvz

brccelvz2#

如果您的shell命令包含像${some_str}这样的GString,则使用双引号:

stage('Test') {
        steps {
            sh """
               sudo yum install ${some_package}
               virtualenv -p python3 test
               """
        }
}

相关问题