Jenkins项目工件和工作区

时间:2016-09-08 17:53:21

标签: jenkins

我已经使用了jenkins很多年了,但是我从来没有把它自己设置好,这是我在新工作中做的。我遇到了几个问题和问题。

默认工作区位置 - 似乎最新的Jenkins在Jenkins \ jobs [projectName] \ _工作区中具有默认工作区,并且每次构建时都会覆盖(或擦除,如果选中)。我认为它应该在Jenkins \ jobs [projectName] \ builds [build_id] \中,以便它能够存储每个构建的工作区状态以供将来参考吗?

在项目上显示工作区> Build_ID页面 - 这与之前的预期一致,因为我预期此处显示以前版本的每个“工作空间”。目前在我的设置中,除了Git修订版以及触发构建的repo更改之外,这个单独的页面不会给你任何东西。以及控制台输出。文物在哪里?使用此构建的工作空间的链接在哪里?

在构建中存档工件 - 选择工件时,过滤器似乎不起作用。我的构建创建了一个文件结构,其中包含工作区内的工件。我想存储这个,工件过滤器说它从工作区开始。所以我放入'工件',没有任何东西可以存储(也存储在哪里?)。我也试过'/ artifacts'和'artifacts / *'。

任何帮助都会很棒!谢谢!

1 个答案:

答案 0 :(得分:16)

看起来你对Jenkins的几个方面感到困惑。我认为你的问题基本归结为以下几点。

工作区和构建之间有什么区别?

所以,这里有一些关于这个主题的想法:

  1. 构建是历史数据。他们(通常)在建筑/结账时不像工作区那样改变。
  2. 构建包含有关运行的信息(例如,其状态,内部版本号,更改日志等)以及您告知其归档的任何工件(日志,测试结果等)。他们(通常)不包含像工作区这样的源代码。
  3. 构建存储在Jenkins\jobs\[projectName]\builds\[build_id]\目录中。这是Jenkins管理的目录,您(通常)不需要修改此目录中的任何内容。但是,工作空间是用于构建的目录,您可以使用它们执行任何操作并将它们放在任何位置(它不需要位于默认的Jenkins\jobs\[projectName]\workspace目录中。
  4. 应该可以在任何给定时间擦除工作区。要恢复它,只需使用相同的参数/修订版重建作业。如果你需要在构建之后保留一些内容,请告诉Jenkins在构建完成之前将其存档。
  5. 关于拯救整个州,我认为你不需要这样做。如#4中所述,您应该能够通过启动与相关构建相同的修订/参数来重现相同的构建。如果你无法从相同的版本/参数回到原始状态,那么这可能是一个需要努力的事情,因为调试将成为一场噩梦。 :)
  6. 工作区是项目的一个方面,而不是构建,这就是为什么没有从该页面到工作区的链接。同样,构建只是从先前运行中保存的数据。项目使用工作区来构建内容,这就是您可以从该页面进入工作区的原因。
  7. 关于如何保存工件,您必须指定要保存的文件的名称。除非您尝试保存名为" artifacts"的文件,否则您应该使用其他内容。所有日志文件的**/*.log怎么样?所有xml文件都是**/*.xml
  8. 希望这有帮助。