无法从 Jenkins 上的 linux 服务器访问目录
Can't access directories from my linux server on Jenkins
我在我的 linux 服务器上安装了 Jenkins,如果我从我的管道脚本在我的 Jenkins 工作区中创建一个随机目录:
sh 'mkdir test'
然后我通过 PuTTY 连接到我的服务器并转到我的 jenkins 工作区位置并检查那里有什么我可以看到我从我的 jenkins 管道构建创建的“测试”目录:
user@ci:/var/lib/jenkins/workspace$ cd build_test
user@ci:/var/lib/jenkins/workspace/build_test$ ls
test
问题是当我在 Jenkins 中编写 shell 命令在我的服务器中导航并使用“ls”检查文件时我没有看到任何东西,例如如果我 运行 这些命令:
cd /
ls
在 运行 构建我的 Jenkins 之后,我在控制台上什么也没有得到,但是我在 PuTTY 上 运行 得到了这个结果:
bin data etc lib lost+found mnt proc run srv tmp var
boot dev home lib64 media opt root sbin sys usr
我唯一能看到的目录是我的 Jenkins 工作区 (/var/lib/jenkins/workspace/build_test) 中的目录,无论是来自 Jenkins 还是 PuTTY,我都可以在其中看到我的“测试”目录。
我是 Jenkins 的新手,所以我应该怎么做才能从 Jenkins 访问我服务器的所有目录?
感谢您的帮助。
我来猜一猜。我认为这里的问题不是 Jenkins 无法看到文件系统的其余部分。相反,它是 Jenkins 工作的方式,其中每个命令 运行 分别在工作区中。
因此,如果您 运行 cd /
这会将您带到 /
仅用于此命令 。一旦你 运行 ls
,它将恢复到你的 Jenkins 工作区和 运行 ls
那里。
要解决此问题,您可以 运行 在同一行 cd / && ls
或使用 dir
:
dir('/') {
sh('ls')
}
我在我的 linux 服务器上安装了 Jenkins,如果我从我的管道脚本在我的 Jenkins 工作区中创建一个随机目录:
sh 'mkdir test'
然后我通过 PuTTY 连接到我的服务器并转到我的 jenkins 工作区位置并检查那里有什么我可以看到我从我的 jenkins 管道构建创建的“测试”目录:
user@ci:/var/lib/jenkins/workspace$ cd build_test
user@ci:/var/lib/jenkins/workspace/build_test$ ls
test
问题是当我在 Jenkins 中编写 shell 命令在我的服务器中导航并使用“ls”检查文件时我没有看到任何东西,例如如果我 运行 这些命令:
cd /
ls
在 运行 构建我的 Jenkins 之后,我在控制台上什么也没有得到,但是我在 PuTTY 上 运行 得到了这个结果:
bin data etc lib lost+found mnt proc run srv tmp var
boot dev home lib64 media opt root sbin sys usr
我唯一能看到的目录是我的 Jenkins 工作区 (/var/lib/jenkins/workspace/build_test) 中的目录,无论是来自 Jenkins 还是 PuTTY,我都可以在其中看到我的“测试”目录。
我是 Jenkins 的新手,所以我应该怎么做才能从 Jenkins 访问我服务器的所有目录?
感谢您的帮助。
我来猜一猜。我认为这里的问题不是 Jenkins 无法看到文件系统的其余部分。相反,它是 Jenkins 工作的方式,其中每个命令 运行 分别在工作区中。
因此,如果您 运行 cd /
这会将您带到 /
仅用于此命令 。一旦你 运行 ls
,它将恢复到你的 Jenkins 工作区和 运行 ls
那里。
要解决此问题,您可以 运行 在同一行 cd / && ls
或使用 dir
:
dir('/') {
sh('ls')
}