我正在运行一个jenkins服务器,对于一项工作,我需要下载jobs/builds/buildname
文件夹中的文件。
如何从jenkins工作下载该文件?
答案 0 :(得分:2)
您已经获得了从工作区获取文件的答案
http://<servername:port>/job/<jobname>/ws/filename.ext
显然用<..>
替换与您的设置相关的值,并确保匿名用户有权从工作区读取,否则您可能需要登录。
您可以访问的唯一其他文件是从以前的作业运行中归档的文件
http://<servername:port>/job/<jobname>/<buildnumber>/artifact/filename.ext
其中<buildnumber>
是您在作业构建历史记录中看到的内部版本号,或者是Eldad提供的永久链接之一(例如lastStableBuild
)。但是这只能访问存档的工件。
您无法通过网络界面随意访问Jenkin的文件系统中的文件......如果它允许您,它将不会非常安全。
答案 1 :(得分:2)
我在云端摇滚基于Unix的开发机器和基于Unix的Jenkins机器。这意味着我可以使用SCP Command通过ssh连接下载远程文件。这是我的scp命令的解剖:
scp -i <path/to/ssh.pem/file> <user>@<jenkins.remote.url>:<path/to/remote/file> <local/path/where/download/goes>
这也适用于目录,例如我用它来下载ThinBackup Plugin
生成的备份答案 2 :(得分:1)
Jenkins作业的构建文件夹用于记录和插件报告。您不应该直接访问它。
如果必须,您可以相对于工作区访问它: $ WORKSPACE /../ builds / $ BUILD_ID /
您还可以使用Jenkins创建的链接替换 $ BUILD_ID :
lastFailedBuild
lastStableBuild
lastSuccessfulBuild
lastUnstableBuild
lastUnsuccessfulBuild
我希望这会有所帮助。
答案 3 :(得分:1)
下载lynx软件包(命令行浏览器)
$ apt-get install lynx
或
$ yum install lynx
然后使用命令
# lynx http://<servername:port>/job/<jobname>/ws/file
该应用程序将要求您允许cookie,如果有身份验证,则会将您引导至类似于浏览器的登录页面。
答案 4 :(得分:0)
如果您按照上一篇文章的建议使用工作区,则可以在管道中访问它:
sh "wget http://<servername:port>/job/<jobname>/ws/index.txt"
或在剧本中:
wget http://<servername:port>/job/<jobname>/ws/index.txt
index.txt
是您要下载的文件。
答案 5 :(得分:0)
正如其他人已经指出这条道路应该有效,我想强调一下,&#34; ws&#34;是詹金斯的目录:
http://<servername:port>/job/<your job>/ws/<your file>