【发布时间】:2024-05-01 00:15:03
【问题描述】:
我正在使用 Jenkins 作为后期构建步骤执行 shell 脚本。问题是詹金斯在我传入的系统属性周围加上引号。因此应用程序看不到任何系统属性已被传入。
如果 Jenkins 将它们用双引号括起来,那很好,但单引号不起作用。
原始外壳脚本:
java -jar -Dnetwork.configuration=Transport.uri=amqp://localhost:5672/stable,transportServer.database.driver=com.mysql.jdbc.Driver,brokerServer.database.jpa=MYSQL "${WORKSPACE}/ffiq-integration/target/PackRunner.jar" -pack "${WORKSPACE}/ffiq-integration/src/main/resources" -name JenkinsIntegrationTests
Jenkins 执行:
java -jar '-Dnetwork.configuration=Transport.uri=amqp://localhost:5672/stable,transportServer.database.driver=com.mysql.jdbc.Driver,brokerServer.database.jpa=MYSQL' "${WORKSPACE}/ffiq-integration/target/PackRunner.jar" -pack "${WORKSPACE}/ffiq-integration/src/main/resources" -name JenkinsIntegrationTests
有没有办法阻止詹金斯这样做?
谢谢。
【问题讨论】:
-
我在将 ${WORKSPACE} 变量传递给 shell 命令时遇到了类似的问题。