我正在查看 Jenkins 作业并试图理解它。
我的构建部分中有一个执行shell命令框:
> mkdir mydir
> cd mydir
>
> svn export --force https://example.com/repo/mydir .
当 Jenkins 执行完该命令并继续进行下一个构建步骤时,它的工作目录是什么?
workspece-root/
或 workspace-root/mydir
?
下一步,我将调用顶级 Maven 目标(仍在构建部分)。
我真正想知道的是:为什么执行成功?
是因为Jenkins在执行一个shell命令框后自动移回到workspace-root/
文件夹,还是因为下一个作业是“顶级”作业,Jenkins因此改回workspace-root/
?
最佳答案
每个构建步骤
都是 Jenkins 生成的一个单独的进程。它们不共享任何内容,既不共享当前目录,也不共享构建步骤
中设置/更改的环境变量。每个新的构建步骤
都首先从父进程(运行 Jenkins 的进程)中生成一个新进程
这并不是 Jenkins“移回”$WORKSPACE
。而是 Jenkins 放弃之前的 session 。
关于jenkins - 执行 shell 命令框后,Jenkins 中的工作目录是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24412418/