jenkins工作空间何时保存?

时间:2019-03-22 06:57:40

标签: jenkins jenkins-pipeline

我有一堆管道作业,但是当执行时,一些工作区会保留下来,有些会被删除。詹金斯是如何做出这些决定的?

根据我到目前为止的发现:

  1. 在节点上执行的所有作业将保留其工作区,例如/home/ec2-user/workspaces/some-job

  2. 某些在master上工作的工作区保留其工作空间,但其他一些工作区在作业完成后消失。例如,在我的构建作业成功之后,如果我ssh可以看到其工作区目录;但是我所有的e2e作业都没有工作区。

请注意,我在管道中没有使用clearWsdeleteDir等中的任何一个。

顺便说一句,我正在研究工作区的原因是磁盘使用率一直在增加,我想清理。我以为每次运行作业都会覆盖工作区,但是我多次收到“磁盘空间太低”警告。

2 个答案:

答案 0 :(得分:0)

Jenkins正在为每个默认的构建作业(=运行)创建一个新的工作区。您可以在控制台日志中ws的路径中看到:/ here / is / the / ws @ buildnumber。如果您不想发生这种行为,可以将其设置为例如每个回购都相同的路径:How to set specific workspace folder for jenkins multibranch pipeline projects

答案 1 :(得分:0)

也许您的某些作业不会在Jenkins Master上执行,而是在某些连接的Node上执行(通过Jenkinsfile或Pipeline描述中的agent指令)。如果是这种情况,您将不会在Jenkins主服务器上的此Job的工作空间内看到构建目录,而是在连接的Node上看到。 您只会在Master的/<JENKINS_HOME>/jobs/My_Job/下获得构建结果(如工件,报告等)。

请记住,例如,如果您在Dockerfile中运行构建并已(在Jenkins配置中)配置了特定的节点标签以执行Docker构建,则也可以间接触发节点上的Jenkins构建。