首先让我指出我是 tomcat & Jenkins 的新手。这是我设置的第一个 CI 服务器。
我正在开发一个 flex 应用程序,我的目标是让 jenkins 在将更改推送到 github 后自动构建并运行 flexUnit 测试。
到目前为止,我有:
在运行(10.6.8)的无头mac mini服务器上的tomcat(6.0.33)下安装Jenkins(1.450)(基本上遵循“Mac OS X Server(10.6)上的Servlet容器安装”@ http://wiki.wocommunity.org /display/WO/Installing+and+Configuring+Jenkins+Build+Server )
下载 flexSDK,设置用户身份验证并配置 github 挂钩。
此时一切正常,一旦将更改推送到 github,jenkins 将构建一个简单的 flex 应用程序
现在我正在尝试构建 flexUnit 示例 CI 项目。在第一次尝试时,它会卡住等待来自 Flash Player 调试器(投影仪)的重播。经过一番研究,我发现 Flash Player 需要在虚拟显示器中运行。所以我安装了 Xvnc Jenkins/Hudson 插件(https://wiki.jenkins-ci.org/display/JENKINS/Xvnc+Plugin)。
Os X 有一个内置的 vnc 服务器,但它似乎无法与 Xvnc 通信,所以我安装了tightvnc(通过 macports)。
然后我通过在终端“sudo -u _appserver vncpasswd /Library/Jenkins/jobs/flexUnitSampleCIProject/workspace/.vnc/passwd”中运行以下命令在我的作业工作区设置VNC密码
这就是我卡住的地方,当我尝试构建 flexUnitSampleCIProject 时,我收到以下错误
FATAL: Cannot run program "vncserver" (in directory "/Library/Jenkins/jobs/flexUnitSampleCIProject/workspace"): error=2, No such file or directory
java.io.IOException: Cannot run program "vncserver" (in directory "/Library/Jenkins/jobs/flexUnitSampleCIProject/workspace"): error=2, No such file or directory
我的直觉是这是一个权限问题,因为 jenkins 在用户 _appserver 下运行
所以我在终端“sudo -u _appserver vncserver :6”中运行了以下命令,
我收到以下错误“vncserver:/Users/admin/.vnc 的类型或访问模式错误。”
但是我读到 sudo 不会继承用户的主文件夹(在本例中为“_appserver”)并且“su _appserver”不起作用,所以我不确定从这里去哪里
有没有人在 mac server/tomcat/jenkins 上运行过 flexUnit?
任何想法将不胜感激