我让Jenkins在Windows上运行,我有一个在CygWin终端的CygWin bash
下工作正常的版本,所以我现在想要自动化它。但是,使用此脚本:
#!C:\cygwin\bin\bash.exe
whoami
make
系统报告为nt authority\system
,而不是我在使用交互式shell时获得的ken
。有没有一种简单的方法来说服Jenkins或CygWin像我一样跑?
答案 0 :(得分:1)
您很可能正在使用默认安装运行jenkins。你有两个选择。首先在评论中提到。更改"服务帐户"和你的一样。
第二个选项来自best practices。在具有备份等的系统上运行jenkins master。使用您的帐户凭据配置slave node。将项目配置更改为在特定节点上构建。
(可以在具有不同凭据的同一台计算机上运行slave和master - 以防万一你想尝试一下)
答案 1 :(得分:1)
我遇到的真正问题不是shell脚本是以错误的用户身份运行,而是shell脚本没有执行默认的/etc/profile
。所以,解决方案很简单:
#!C:\cygwin\bin\bash.exe -l
whoami
make
我仍然是nt authority\system
,但现在我已经设置了正确的环境并且可以成功运行make
。
另请注意,如果我创建一个/home/system
目录,我可以将.bash_profile
等添加到该目录,以进一步自定义构建环境。