尝试使用perforce插件设置jenkins:无法针对软件仓库检查工作区

时间:2013-12-17 17:17:01

标签: jenkins perforce workspace

我已经在我的ubuntu服务器上安装了perforce,并且正在同一网络上的Windows XP计算机上访问它。它位于mysql:1667。我可以从windows机器通过p4v访问perforce。

我在同一台服务器上安装了jenkins,可以通过mysql:8080访问它。我已经安装了perforce插件,并将文件位置设置为usr / local / bin / p4。

当我尝试创建一个新项目时,我输入了信息mysql:1667,jenkins,XXXXXXXX,jenkins_space(已创建并列在p4v的工作区中),我看到红色“无法检查工作区反对仓库“。读到这可能是一个误导性的错误消息,我尝试进行构建(绝对没有构建命令)。 “构建”失败,我得到以下内容:

Started by user anonymous  
Building in workspace /var/lib/jenkins/workspace/test7  
Using master perforce client: jenkins_space  
[test7] $ /usr/local/bin/p4 workspace -o jenkins_space  
Caught exception communicating with perforce. Connect to server failed; check $P4PORTcom.tek42.perforce.PerforceException: Connect to server failed; check $P4PORT  
    at com.tek42.perforce.parse.AbstractPerforceTemplate.getPerforceResponse(AbstractPerforceTemplate.java:406)  
    at com.tek42.perforce.parse.AbstractPerforceTemplate.getPerforceResponse(AbstractPerforceTemplate.java:301)  
    at com.tek42.perforce.parse.Workspaces.getWorkspace(Workspaces.java:61)  
    at hudson.plugins.perforce.PerforceSCM.getPerforceWorkspace(PerforceSCM.java:1545)  
    at hudson.plugins.perforce.PerforceSCM.getPerforceWorkspace(PerforceSCM.java:1506)  
    at hudson.plugins.perforce.PerforceSCM.checkout(PerforceSCM.java:843)  
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1414)  
    at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:652)  
    at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)  
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:561)  
    at hudson.model.Run.execute(Run.java:1678)  
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)  
    at hudson.model.ResourceController.execute(ResourceController.java:88)  
    at hudson.model.Executor.run(Executor.java:231)  
ERROR: Unable to communicate with perforce. Connect to server failed; check $P4PORT
Finished: FAILURE

我可能有什么想法/做错了吗?

谢谢你, 布赖恩

2 个答案:

答案 0 :(得分:1)

错误表明它未连接到服务器。日志中没有任何内容表明对perforce的调用正在获得有效的P4PORT,并且它们没有被发送命令行参数。

仔细检查您的作业中的Source Code Management插件是否按预期配置。 P4PORT应该在生成第一个p4命令之前立即来自Jenkins(尽管它不会出现在日志中)。

通常“无法检查工作区对库”是一种有效的诊断。如果你得到“Workspace不存在”,由于许多因素,这可能是假的,但“无法检查”错误往往表明无法建立连接或存在身份验证失败。

如果您使用的是SSL,请确保将其放在连接字符串中(例如ssl:mysql:1667),因为这会导致连接失败,尽管它应该在日志中生成不同的消息。

答案 1 :(得分:0)

我遇到了类似的问题,重启了奴隶机器上的jenkins服务器,为我工作。

检查jenkins中的配置并确保用于perforce的用户具有有效权限且P4PORT设置正确。完成后,重新启动从属服务器中的jenkins服务。

似乎jenkins仍在使用导致失败的旧设置。

相关问题