shell 我在Jenkins管道的一个阶段中有一个text参数,我如何在下一阶段调用它?

ruoxqz4g  于 2023-04-12  发布在  Shell
关注(0)|答案(1)|浏览(112)

我有一个文本参数如下:string1(name:'docker_images',defaultValue:'',description:'Enter the list of images').这是在jenkins pipeline中的一个阶段,叫做Parameters.在下一个阶段,我需要调用这个参数(在#CODE2下面).我已经尝试过使用stash参数,但它不接受字符串值.我不知道如何调用这个文本参数.

parameters {
    
    text(name:'docker_images', defaultValue: NA, description:'Enter the list of images')
    
  }
  stages {
    
    stage(docker_image_movement){
      steps{
        container('tools'){
            #CODE1
                  script{
                    sh'''
                      #CODE2
                     
         
                      for docker_image in 'echo $docker_images'
                      do
                      #DOCKER COMMANDS
                      '''
                  }
fcwjkofz

fcwjkofz1#

您需要将shell块放在双引号中,以便进行字符串插值。

sh"""
    #CODE2
   

    for docker_image in $docker_images
    do
    #DOCKER COMMANDS
    
"""

你也可以像下面这样循环输入。

pipeline {
    agent any
     parameters { text(name: 'docker_images', defaultValue: 'One\nTwo\nThree\n', description: '') }
    stages {
        stage("Check") {
            steps {
                script {
                    for(def img in params.docker_images.split('\n')){
                        sh "echo  $img"
                    }
                }
            }
        }
    }
}

相关问题