Jenkins:如何在唯一的目录中运行构建

sam*_*sam 6 jenkins

我是第一次配置 Jenkins,直到现在一直是它的用户。

我阅读了文档并了解“$WORKSPACE”在slave上的含义。

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

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

ven*_*npa 5

默认情况下,詹金斯从$WORKSPACE/JOB Name; 这里 WORKSPACE 在节点配置中定义。这可以通过在您的作业配置下选择Advance Project options->来更改Use custom workspace

关于清理:如果您想为每个新作业进行清理,请选择Build Environment->Delete workspace before build starts在作业配置下。

  • 对于同一节点上的并发构建,Jenkins 将使用 @<number> 创建构建文件夹名称以保持其唯一性。请注意,如果代码中的某些内容使用转换为 URI 的绝对路径(因为 @ 是 URI 中的特殊字符),则 @char 可能会出现问题。有一种方法可以通过系统属性 hudson.slaves.WorkspaceList(在启动 Jenkins 的命令中提供)更改它:检查 Jenkins 文档:https://wiki.jenkins.io/display/JENKINS/Features+controlled+by+system+属性和 Jenkins 问题:https://issues.jenkins-ci.org/browse/JENKINS-11519 (2认同)
  • 高级项目选项到底在哪里?我在作业配置中看不到它。 (2认同)