我正在尝试让 Jenkins 工作来运行 sfdx force:data:soql:query 命令,以便在刷新后在我们的生产组织和沙箱之间迁移配置数据集。某些配置不会在刷新时持续存在,因此我们需要一种方法来移动该数据。
从 Jenkins 服务器上的命令行运行查询按预期工作,但是运行时的作业失败并出现以下错误:
'C:\Program' is not recognized as an internal or external command, operable program or batch file.
Build step 'Execute shell' marked build as failure
该作业做了三件事:授权 DevHub,列出连接的组织,然后执行 SQOL 查询以打印一些数据 - 准确地说是 16 行。以下是作业的 shell 脚本中的命令:
sfdx force:auth:jwt:grant -i ${CONNECTED_APP_CONSUMER_KEY} -u ${DEV_HUB} -f ${JENKINS_HOME}/certs/prod/server.key -r [...] -a DevHub
sfdx force:org:list
sfdx force:data:soql:query -u ${DEV_HUB} -q "SELECT Id, Name FROM [...tablename...]" -r human
我完全不知道为什么会这样。同样,通过 PowerShell 或命令行直接在服务器上运行 SOQL 命令可以按预期工作。我将不胜感激。