我已经在我的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
我可能有什么想法/做错了吗?
谢谢你, 布赖恩
答案 0 :(得分:1)
错误表明它未连接到服务器。日志中没有任何内容表明对perforce的调用正在获得有效的P4PORT,并且它们没有被发送命令行参数。
仔细检查您的作业中的Source Code Management
插件是否按预期配置。 P4PORT
应该在生成第一个p4
命令之前立即来自Jenkins(尽管它不会出现在日志中)。
通常“无法检查工作区对库”是一种有效的诊断。如果你得到“Workspace不存在”,由于许多因素,这可能是假的,但“无法检查”错误往往表明无法建立连接或存在身份验证失败。
如果您使用的是SSL,请确保将其放在连接字符串中(例如ssl:mysql:1667
),因为这会导致连接失败,尽管它应该在日志中生成不同的消息。
答案 1 :(得分:0)
我遇到了类似的问题,重启了奴隶机器上的jenkins服务器,为我工作。
检查jenkins中的配置并确保用于perforce的用户具有有效权限且P4PORT设置正确。完成后,重新启动从属服务器中的jenkins服务。
似乎jenkins仍在使用导致失败的旧设置。