您的位置:首页 > 产品设计 > UI/UE

jenkins调用含有gui界面的window exe程序会一直卡住执行的问题

2018-01-04 11:32 1876 查看
起因

我新建了一个jenkins构建,需要用windows下的cmd命令调用一个flash air的本地exe程序,结果在jenkins下会一直卡住不动,执行不下去。在windows下单独用cmd命令调则能顺利执行。

引自
1、Jenkins执行批处理文件失败http://blog.csdn.net/hwhua1986/article/details/47778131
2、Jenkins slave远程运行windows exe无窗口问题解决方法http://blog.csdn.net/anlegor/article/details/24329237

分析
以上两篇文章提到的问题跟我遇到的多少有点相似,基本得出两个推论:
1、jenkins是以服务的形式运行在windows机上的,而服务不能直接调用GUI的程序
2、用户权限的问题

处理
基于以上两点思考,我按照第1个参考里面的做法:
1、在windows下打开cmd程序,输入"services.msc"打开服务窗口
2、找到“jenkins”服务,然后右键->属性,选择“登录”标签页
此时,默认是勾选本地系统账户,“允许服务与桌面交互”为未勾选状态。
我试着先勾选“允许服务与桌面交互”,然后点击应用->确定,再重启"jenkins"服务,执行构建,发现并没有作用。
最后我试着勾选此账户,然后输入管理员账户和密码,然后点击应用->确定,再重启"jenkins"服务,执行构建,此时能够正常运行。



结论
根据以上的尝试基本可以得出是系统用户权限的问题,jenkins服务所在的用户权限不支持直接调用像flash air这样的exe gui程序,换成管理员账户就可以了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息