Jenkins构建时无法识别本地可正常运行的scriptless-cli命令如何解决
问题原因
你本地CMD可以正常运行scriptless-cli命令,是因为你当前登录的Windows用户的PATH环境变量已经添加了该程序所在的目录。而Jenkins服务默认使用SYSTEM系统账户运行,SYSTEM账户的环境变量与个人用户的环境变量相互隔离,并未包含该程序的路径,因此无法识别命令。
解决方案
可选择以下任意一种方案解决:
方案1:直接调用绝对路径(优先推荐,无需修改全局配置)
在Jenkins的「执行Windows batch command」步骤中,直接写scriptless-cli的完整绝对路径即可,示例如下:
C:\你存放程序的目录\scriptless-cli.exe run --cloudURL "https://demo.app.perfectomobile.com" --securityToken "你的安全令牌" -p "Salesforce" -v "Base" -j "Salesforce Parallel Job" -l "Chrome 1024x768" -e "https://login.salesforce.com(Default)"
请将上述路径替换为你本地scriptless-cli实际存放的完整路径
方案2:添加路径到系统级PATH环境变量
- 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
- 在「系统变量」区域找到
Path变量,点击「编辑」,新增scriptless-cli所在的文件夹路径(例如C:\scriptless-tool\) - 保存配置后,打开服务管理器(按下Win+R输入
services.msc回车),找到Jenkins服务右键重启,配置即可生效
方案3:修改Jenkins服务运行账户为个人用户
- 打开服务管理器(按下Win+R输入
services.msc回车),找到Jenkins服务,右键点击「属性」 - 切换到「登录」选项卡,选择「此账户」,输入你平时使用的、可以正常运行scriptless-cli的Windows账号和密码
- 保存配置后重启Jenkins服务即可
方案4:构建步骤内临时添加PATH
在你要执行的脚本最前面新增一行,临时将scriptless-cli所在目录加入当前构建的PATH变量:
set PATH=C:\你存放scriptless-cli的目录;%PATH% scriptless-cli run --cloudURL "https://demo.app.perfectomobile.com" --securityToken "你的安全令牌" (其余参数保持不变)
内容的提问来源于stack exchange,提问作者stack767
相关产品推荐
相关产品推荐

