我已经设置了一个MAC从站,并在MAC slave上随处下载了Team Explorer。我确实在slave和master上设置了路径。如果我进入从机并运行它,TF命令运行正常。问题是,当我输入" tf"在" TF命令行可执行文件"詹金斯拒绝调查MAC奴隶的路径。它只关注windows master的路径。这是我得到的错误:
java.io.IOException:无法运行程序" tf" (在目录" / build / workspace / Aries_Mac"):error = 2,没有这样的文件或目录
我知道Jenkins没有查看mac路径的原因是,我已经尝试手动放入mac路径。詹金斯向我展示了这一点:
TF命令行可执行文件
路径中没有这样的可执行/构建/ TEE-CLC:C:/ Windows / system32,C:/ Windows,C:/ Windows / System32 / Wbem,C:/ Windows / System32 / WindowsPowerShell / v1.0 /,C:/ Program Files / Microsoft SQL Server / 110 / Tools / Binn /,c:/ Program Files(x86)/ Microsoft ASP.NET / ASP.NET Web Pages / v1.0 /,C:/程序文件/ Microsoft / Web平台安装程序/,C:/ Program Files / nodejs /,C:/ Program Files / Npm / npm,C:/flex-build/apache-ant-1.8.4/bin,C:/ Program文件(x86)/ Windows工具包/ 8.1 / Windows性能工具包/,C:/ ProgramData / chocolatey / bin,C:/ Program Files(x86)/ Git / cmd,C:/ Program Files / Git / cmd,C:/ tools / python2,C:/ Program Files(x86)/ Microsoft Visual Studio 12.0 / Common7 / IDE。*
但如果我仍然保存配置,我就不会再收到java.io.IOException错误了。这证实了如果我手动输入MAC的TF路径,即使" TF命令行"没有拿起来,它运作正常。但是,显然它打破了我的窗户工作。
我已经尝试了几乎所有我知道的东西,我已经设置了路径,我已经重启了Jenkins几次。我通过登录到奴隶机器在奴隶上运行tf eula -accept
命令。我无法想到其他任何事情。
答案 0 :(得分:0)
Jenkins在基于Linux的系统(包括Mac)上以jenkins
用户身份运行。您必须添加jenkins
用户的路径,而不是您登录的用户。
答案 1 :(得分:0)
好吧,在我发布解决方法之前,我想说我确实改变了Jenkins使用的路径。 (在/ etc /配置文件)。我甚至尝试在我的从属配置中添加环境变量PATH,但没有一个工作。我只是无法从插件中获取tf命令。如果我从shell执行tf它工作正常。 echo $ PATH命令向我展示了我添加的路径,但是,我无法让插件为我工作。
解决方法:我将我的文件从Team Explorer Everywhere复制并粘贴到/ bin文件夹中。这解决了问题,插件工作正常。这不是一个很好的方法,但这个解决方案一直有效,直到我能找到一个更好的方法。