jenkins - 执行 shell 命令框后,Jenkins 中的工作目录是什么?

标签 jenkins working-directory

我正在查看 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/

相关文章:

python - 当文件位于同一目录中时为 "No such file or directory"

python - PyDev 控制台工作目录

cmake - CMake是否提供一种方法来设置给定构建系统在运行/调试项目时使用的工作目录?

node.js - 在使用 Docker 的 Jenkins Pipeline 的构建后操作中似乎无法触发 "failure"事件

java - 在 Java/Eclipse 中运行批处理(shell/CMD)命令的最佳方法?

java - Jenkins:使用单元测试自动检查 Maven 版本

mysql - 如何在 mysql 命令行工具中更改目录?

java - 如何在java常量中传递jenkins参数值

git - 如何从 Jenkins 管道脚本中的远程仓库克隆目录?

java - 我的工作目录、文件和 url