我有一个自由式的工作在Jenkins与以下格式:
freeStyleJob('Myjob') { wrappers { preBuildCleanup() } steps { shell(readFileFromWorkspace('scripts/myscript.sh')) } }
我需要向脚本传递命令行参数即
./myscript.sh argument1 argument2
在自由式作业中我如何做到这一点?
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 1和ARG 2),并将它们作为参数传递给脚本。**$**符号防止Jenkins将变量作为Jenkins变量进行插值。
1条答案
按热度按时间enyaitl31#
您可以尝试通过修改Jenkins作业中的shell步骤将命令行参数传递给脚本。
您还可以尝试使用Jenkins环境变量向脚本传递参数。
在上面的示例中,我使用三重引号创建了一个多行shell命令。然后导出两个环境变量(ARG 1和ARG 2),并将它们作为参数传递给脚本。**$**符号防止Jenkins将变量作为Jenkins变量进行插值。