Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jenkins 詹金斯:如何在唯一目录中运行构建_Jenkins - Fatal编程技术网

Jenkins 詹金斯:如何在唯一目录中运行构建

Jenkins 詹金斯:如何在唯一目录中运行构建,jenkins,Jenkins,我是第一次配置Jenkins,到目前为止我一直是它的用户 我阅读了文档并理解了从机上“$WORKSPACE”的含义 我有一个误解,即默认情况下,Jenkins Slave上的作业在工作区目录中每个作业的唯一目录中运行。情况似乎并非如此 如何为每个作业运行分配唯一的目录? Jenkins会在完成后自动清理此作业运行目录吗?默认情况下,Jenkins从$WORKSPACE/job Name运行;此处,工作区在节点配置中定义。这可以通过在作业配置下选择“高级项目选项”->“使用自定义工作区”来更改 关

我是第一次配置Jenkins,到目前为止我一直是它的用户

我阅读了文档并理解了从机上“$WORKSPACE”的含义

我有一个误解,即默认情况下,Jenkins Slave上的作业在工作区目录中每个作业的唯一目录中运行。情况似乎并非如此

如何为每个作业运行分配唯一的目录?
Jenkins会在完成后自动清理此作业运行目录吗?

默认情况下,Jenkins从
$WORKSPACE/job Name
运行;此处,工作区在节点配置中定义。这可以通过在作业配置下选择“高级项目选项”->“使用自定义工作区”来更改


关于清理:如果要清理每个新作业,请选择“作业配置”下的“生成环境”->
在生成开始之前删除工作区”

如果作业至少成功执行一次,Jenkins将默认创建工作区目录

,因此默认情况下,所有生成运行都在中完成“$WORKSPACE/作业名称"? 对于Jenkins如何处理同一作业的并发运行,我有点困惑。@sam如果您启用作业的并发执行,那么Jenkins确实会为不同的运行创建唯一的目录。对于同一节点上的并发生成,Jenkins会创建带有@的生成文件夹名称以保持其唯一性。请注意,如果代码中的某些内容使用转换为URI的绝对路径(因为@是URI中的特殊字符),则@char可能会有问题。有一种方法可以通过系统属性hudson.slaves.WorkspaceList(在启动Jenkins的命令中提供):检查Jenkins docs:和Jenkins issue:显然,在多分支管道作业中,该选项不可用,但默认情况下启用了“并发执行”。如果管道应按顺序执行,则Jenkins文件中应使用行
属性([disableConcurrentBuilds()])
。Advanced Project选项具体在哪里?我无法在作业配置中看到它。您是否阅读了与Jenkins作业中的“执行并发构建”选项相关联的帮助文本?这解释了詹金斯的行为。如果您仍然有问题,请描述您的作业配置以及您尝试了什么,以便有人能够重现该行为。有两个问题您尚未回答第二个问题:Jenkins是否会在作业完成后自动清理此作业运行目录?Jenkins不会清理作业空间和工作区目录。你可以在下一个构建开始之前检查。这个句子的结构对我来说毫无意义。