小编典典

从机上的Jenkins工作空间路径不一致

jenkins

我们设置了一些共享工作空间的作业。各个分支的工作流程是:

  • 构建一个名为的大型C ++项目foo
  • 执行几个下游测试,每个测试都使用的工作空间foo

我们通过将Use custom workspace下游作业的字段分配给构建工作区来完成此任务。

最近,我们采用了一个分支,并将其分配在Jenkins从机而非主服务器上构建。我很惊讶地发现,在主服务器上,foo存储库被克隆到$JENKINS_JOBS_PATH/FOO/workspace/foo_repo-在从服务器上,存储库被克隆到$JENKINS_JOBS_PATH/FOO/foo_repo

这是设计使然,还是我们以某种方式不一致地配置了主服务器和从服务器?


阅读 680

收藏
2020-07-25

共1个答案

小编典典

较旧的Jenkins版本将工作空间放在$ {JENKINS_HOME} / jobs / JOB /
workspace目录下。升级后,该模式将保留在Jenkins实例中。新版本将工作空间放置在$ {JENKINS_HOME} / workspace
/中。我怀疑从站不需要遵循旧模式(特别是如果它是较新的从站),因此目录在机器之间可能不一致。

您可以在Jenkins->配置Jenkins->高级中更改主服务器上工作区的位置。

我认为处理此问题的安全方法…如果要使用自定义工作区,则应将其用于所有工作,包括第一个构建大型honking c ++项目的工作。

如果您在管道中进行了所有操作,则可以在一个作业中运行所有这些操作,并且可以更好地控制所有文件的位置,并且可以选择stashunstash,但是如果文件很大,则隐藏可能不是要走的路。

2020-07-25