1

我创建了一个执行 maven 命令的 shell 脚本。

该命令如下所示:

mvn --ntp  gatling:test -Dgatling.simulationClass=scripts.$SIMULATION_CLASS -Denv=${TEST_ENVIRONMENT} -Dscenario="ownerPairing"  -Dgatling.core.directory.results="/home/vsts/work/r1/a/_digital-key-core-gatling/gatlingResults" -Dgatling.core.outputDirectoryBaseName=dkc_gatling_test_emea_dev_$SIMULATION_CLASS -Dgatling.charting.noReports=true -DclientPath=${clientPath} -DclientPWD=${CLIENT_CERTIFICATES_PASSWORD} -DuseProxy=false -Dusers=${USERS} -DrampUpTime=${DURATION} -DexecuteFrom="pipeline"

有没有办法,我将所有输入分配给一个变量并在 mvn 命令中访问它。

我尝试了这样的事情,但没有奏效:

mavenInput1="-Dgatling.simulationClass=scripts.$SIMULATION_CLASS -Denv=${TEST_ENVIRONMENT} -Dscenario="ownerPairing"  
mavenInput2=-Dgatling.core.directory.results="/home/vsts/work/r1/a/_digital-key-core-gatling/gatlingResults" -Dgatling.core.outputDirectoryBaseName=dkc_gatling_test_emea_dev_$SIMULATION_CLASS -Dgatling.charting.noReports=true 
mavenInput3=-DclientPath=${clientPath} -DclientPWD=${CLIENT_CERTIFICATES_PASSWORD} -DuseProxy=false -Dusers=${USERS} -DrampUpTime=${DURATION} -DexecuteFrom="pipeline"
mvn --ntp  gatling:test ${mavenInput1} ${mavenInput2} ${mavenInput3}
4

1 回答 1

1

这都是关于报价的。

mavenInput1='-Dgatling.simulationClass=scripts.'"${SIMULATION_CLASS}"' -Denv='"${TEST_ENVIRONMENT}"' -Dscenario=ownerPairing'  
mavenInput2='-Dgatling.core.directory.results=/home/vsts/work/r1/a/_digital-key-core-gatling/gatlingResults -Dgatling.core.outputDirectoryBaseName=dkc_gatling_test_emea_dev_'"${SIMULATION_CLASS}"' -Dgatling.charting.noReports=true'
mavenInput3='-DclientPath='"${clientPath}"' -DclientPWD='"${CLIENT_CERTIFICATES_PASSWORD}"' -DuseProxy=false -Dusers='"${USERS}"' -DrampUpTime='"${DURATION}"' -DexecuteFrom=pipeline'
mvn --ntp  gatling:test ${mavenInput1} ${mavenInput2} ${mavenInput3}

您也可以将它们作为单个变量,如下所示:

mavenInputs='-Dgatling.simulationClass=scripts.'"${SIMULATION_CLASS}"\
' -Denv='"${TEST_ENVIRONMENT}"\
' -Dscenario=ownerPairing'\
' -Dgatling.core.directory.results=/home/vsts/work/r1/a/_digital-key-core-gatling/gatlingResults'\
' -Dgatling.core.outputDirectoryBaseName=dkc_gatling_test_emea_dev_'"${SIMULATION_CLASS}"\
' -Dgatling.charting.noReports=true'\
' -DclientPath='"${clientPath}"\
' -DclientPWD='"${CLIENT_CERTIFICATES_PASSWORD}"\
' -DuseProxy=false'\
' -Dusers='"${USERS}"\
' -DrampUpTime='"${DURATION}"\
' -DexecuteFrom=pipeline'
mvn --ntp  gatling:test ${mavenInputs}
于 2022-02-20T15:21:16.647 回答