面对jenkins的问题:同步命令

时间:2015-06-25 13:14:15

标签: curl jenkins perforce rpm rpmbuild

我正在尝试使用curl命令顺序运行Jenkins作业。并面临一些奇怪的问题。只有在最后提到的工作正在执行而其他工作在以下例外情况下失败。

我的问题是,

假设我有两个CL来创建RPM 使用First CL运行curl命令并在Jenkins服务器中构建参数。它将在第一个CL失败。

在Jenkins服务器中使用第二个CL和构建参数运行curl命令,它将正常运行并创建一个RPM。

以下是我将获得的例外,

Caught exception communicating with perforce. Errors encountered while force syncing: error: Invalid changelist/client/label/date '@cobrands.razor12.FIS.prod.20150609_build_01
com.tek42.perforce.PerforceException: Errors encountered while force syncing: error: Invalid changelist/client/label/date '@cobrands.razor12.FIS.prod.20150609_build_01

    at com.tek42.perforce.parse.Workspaces.syncTo(Workspaces.java:167)
    at hudson.plugins.perforce.PerforceSCM.checkout(PerforceSCM.java:1001)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1369)
    at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:676)
    at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:581)
    at hudson.model.Run.execute(Run.java:1575)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
    at hudson.model.ResourceController.execute(ResourceController.java:88)
    at hudson.model.Executor.run(Executor.java:241)

但是使用相同的参数集,我手动运行Jenkins作业。它会好起来的。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

有趣的是,只有最终的同步命令正在工作,而早期的命令不起作用。

我认为最好的步骤是联系您的Perforce服务器管理员,并获得对Perforce服务器日志的访问权限,该日志可用于捕获您针对服务器运行的确切命令,按什么顺序,以及使用什么参数和配置设置。 (要求管理员确保已设置P4LOG,并且'服务器'日志设置至少为1级。)

目前可用的信息有限,我发现的一些可能性是:

  1. 也许有问题的标签(cobrands.razor12.FIS.prod.20150609_build_01)是在作业的中途创建的,因此它在Jenkins作业结束时可用,但不能在作业中提前。
  2. 也许作业中的不同步骤使用不同的参数和配置设置(P4USER,P4CLIENT等),因此前面的命令无效,但后续命令是正确的。
  3. 由于现在有问题的标签 ,但是当'sync -f @ cobrands.razor12.FIS.prod.20150609_build_01'命令失败时,显然 可用,该标签可能是在该命令发出后创建的。您的服务器日志(以及您的规范库,如果您的服务器管理员已启用它)将允许您确定标签何时创建以及为什么它不可用于您发出的第一个'sync -f'命令。