groovy 如何向Jenkins“readFileFromWorkspace()”脚本传递参数

cld4siwp  于 2023-03-17  发布在  Jenkins
关注(0)|答案(1)|浏览(203)

我有一个自由式的工作在Jenkins与以下格式:

freeStyleJob('Myjob') {
    wrappers {
        preBuildCleanup()
    }
    steps {
        shell(readFileFromWorkspace('scripts/myscript.sh'))
    }
}

我需要向脚本传递命令行参数

./myscript.sh argument1 argument2

在自由式作业中我如何做到这一点?

enyaitl3

enyaitl31#

您可以尝试通过修改Jenkins作业中的shell步骤将命令行参数传递给脚本。

freeStyleJob('Myjob') {
 wrappers {
    preBuildCleanup()
 }
 steps {
    shell "./scripts/myscript.sh argument1 argument2"
 }
}

您还可以尝试使用Jenkins环境变量向脚本传递参数。

freeStyleJob('Myjob') {
    wrappers {
        preBuildCleanup()
   }
   steps {
      shell """
          export ARG1="argument1"
          export ARG2="argument2"
          ./scripts/myscript.sh \$ARG1 \$ARG2
       """
    }
 }

在上面的示例中,我使用三重引号创建了一个多行shell命令。然后导出两个环境变量(ARG 1ARG 2),并将它们作为参数传递给脚本。**$**符号防止Jenkins将变量作为Jenkins变量进行插值。

相关问题