2012-12-20 261 views
14

我试图在Mac OS服务器上与Jenkins构建Unity项目。 但是当我尝试运行下面的脚本与Jenkins构建Unity项目失败

/Applications/Unity/Unity.app/Contents/MacOS/Unity -quit -batchmode ${PROJECT_PATH} -executeMethod BuildScript.DevelopmentBuild 

的脚本显示了这一点,

_RegisterApplication(),未能建立默认连接WindowServer,_CGSDefaultConnection()为NULL。

有谁知道如何解决这个问题?

+0

现在我解决了这一问题。我将Jenkins CI从'/ Library/LaunchDaemons /'移至'/ Library/LaunchAgents /'。另外我让jenkins用户在jenkins用户上安装Unity3D。然后保持登录jenkins用户。 – morodomi

回答

12

尝试写:

sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist 
sudo mv /Library/LaunchDaemons/org.jenkins-ci.plist /Library/LaunchAgents/org.jenkins-ci.plist 

然后注销并重新登录。

现在Jenkins将作为代理运行,并可以访问WindowServer。

+1

我必须在更改后重新启动机器。注销并登录是不够的。另外我没有将Jenkins配置为在机器启动时运行,因此我必须在重新启动后运行'sudo launchctl load/Library/LaunchAgents/org.jenkins-ci.plist'。 –

+0

也不得不重新启动机器,但在此之后它工作正常!谢谢 – d4Rk

-1

看起来您在指定项目路径之前缺少了--projectPath选项?从终端

+0

我尝试使用--projectPath选项作为Unity -batchmode -quit -projectPath“$ {UNITY_PROJECT_PATH}”-executeMethod BuildScript.DevelopmentBuild。但不会建立。 – morodomi

0

我有这个相同的问题。问题在于Jenkins和Unity如何单独工作。 我能找到周围清洁工作的唯一办法是:

  1. 理想有你詹金斯主只做分配给从不要自行建造任何东西。所以你的奴隶会建立这个项目。
  2. 以上情况不容易实现这里是一个快速的解决方法:
    • 在你的詹金斯大师创建一个奴隶。
    • 在新创建的从站上添加一个标签以执行Unity项目。
    • 将作业配置为在上面创建的专用从站上运行。
    • 现在所有作品!
4

请确保您有您的启动参数中-nographics参数