我有一个远程计算机X.X.X.X,该远程计算机具有docker,其内部具有如下所示的脚本
docker exec -i $docker_container_id python /test/script.py $param1 $param2 /host/test/
当我从远程计算机上运行它时,它已成功执行
我的本地计算机上运行着詹金斯,我试图在远程计算机上执行相同的命令
我遵循的步骤,
1)创建一个自由式项目
2)这是一个参数化项目,并选择了三个字符串docker_container_id,param1,param2
3)“ pre build shell脚本”部分具有以下脚本
echo $docker_container_id
docker exec -i $docker_container_id python /test/script.py $param1 $param2 /host/test/
echo带有容器ID,但未获取参数,而是出现此错误
echo $docker_container_id
docker exec -i $docker_container_id python /host/base/ci/src/automated_tests.py $param1 $param2 /host/test/
test_container_id
1)因此,参数未在docker命令中传递,但可用于'echo'
2)当我尝试使用以下命令(即)传递双引号参数,但出现以下错误时,
"docker exec -i $docker_container_id python /test/script.py $param1 $param2 /host/test/"
错误:
echo $docker_container_id
"docker exec -i base_test python /host/base/ci/src/automated_tests.py $BRANCH $DATE /host/base/"
bash: line 4: docker exec -i test_container_id python /host/base/ci/src/automated_tests.py param1 param2 /host/test/: No such file or directory
test
令人惊讶的是,现在传递了参数,但出现错误“没有这样的文件或目录”