错误:"json 到属性":在$PATH中找不到可执行文件":未知



我正在尝试将 json 转换为 .properties,为此我有一个实用程序,但是在 docker 上它不起作用。在Stackoverflow上看到了很多答案,但没有运气。

sh "docker run --rm -v ${workspace}:/tmp/'${params.SOURCE_PROPERTY}':Z -w /tmp/'${params.SOURCE_PROPERTY}' artifactoryUrl/node:10-latest npm init -y"
sh "docker run --rm -v ${workspace}:/tmp/'${params.SOURCE_PROPERTY}':Z -w /tmp/'${params.SOURCE_PROPERTY}' artifactoryUrl/node:10-latest npm install json-to-properties -g"
sh "docker run --rm -v ${workspace}:/tmp/'${params.SOURCE_PROPERTY}':Z -w /tmp/'${params.SOURCE_PROPERTY}' artifactoryUrl/node:10-latest json-to-properties ${WORKSPACE}/app-page.json"

错误

docker:来自守护程序的错误响应:OCI 运行时创建失败:container_linux.go:344:启动容器进程导致"exec:\"json-to-properties\":在$PATH中找不到可执行文件":未知。

原因是在每个命令上您都在创建一个不同的容器,因此当您执行此部分时sh "docker run --rm -v ${workspace}:/tmp/'${params.SOURCE_PROPERTY}':Z -w /tmp/'${params.SOURCE_PROPERTY}' artifactoryUrl/node:10-latest json-to-properties ${WORKSPACE}/app-page.json"容器之前没有任何修改。

你能试试这个吗?

sh "docker run --rm -itd --name nmp.container -v ${workspace}:/tmp/'${params.SOURCE_PROPERTY}':Z -w /tmp/'${params.SOURCE_PROPERTY}' artifactoryUrl/node:10-latest"
sh "docker exec -it nmp.container sh -c 'npm init -y'"
sh "docker exec -it nmp.container sh -c 'npm install json-to-properties -g'"
sh "docker exec -it nmp.container sh -c 'json-to-properties ${WORKSPACE}/app-page.json'"

借助@kevs提供的信息,即容器之前没有任何修改。我做了一个变通方法,我使用&&在一行中给出了命令 另一个问题是该实用程序,如果未找到 json,它不会失败或不会抛出错误消息。我敢肯定可能不是最好的解决方法。让我知道实现相同的更好方法。谢谢

sh "docker run --rm -v ${workspace}'${params.SOURCE_PROPERTY}':/tmp/'${params.SOURCE_PROPERTY}':Z -w /tmp/'${params.SOURCE_PROPERTY}' docker.artifactory/node:10-latest npm init -y && json-to-properties -g && json-to-properties ${WORKSPACE}/app-page.json"

相关内容

最新更新