Shell 将Jenkins控制台输出写入远程服务器中的文件
我正在从事研发项目,我的想法是从Shell 将Jenkins控制台输出写入远程服务器中的文件,shell,jenkins,jenkins-plugins,Shell,Jenkins,Jenkins Plugins,我正在从事研发项目,我的想法是从Jenkins触发shell脚本,并将控制台输出写入远程windows服务器中的文件(文本文件)。我试着寻找选择,但没有一个是有用的 有没有办法使用以下命令将Jenkins控制台输出写入远程服务器中的文本文件: 任何构建后操作或 任何外部Jenkins插件或 还有其他不同的方法吗 是否需要任何连接访问才能按要求写入输出?请帮我想个办法。我可以想出几种方法来实现这一点: 运行shell命令时,将其重定向到文件: echo scripting output >
Jenkins
触发shell脚本
,并将控制台输出写入远程windows服务器中的文件(文本文件)。我试着寻找选择,但没有一个是有用的
有没有办法使用以下命令将Jenkins
控制台输出写入远程服务器中的文本文件:
是否需要任何连接访问才能按要求写入输出?请帮我想个办法。我可以想出几种方法来实现这一点:
- 运行shell命令时,将其重定向到文件:
然后将文件复制到远程文件共享:echo scripting output > myScriptOutput.txt
(可以在自由式或管道作业中完成)copy myScriptOutput.txt \\server\share\subfolder
- 像上面那样重定向输出,然后归档工件,并使用其中一个将其复制到远程服务器(只能在自由式作业中完成)
- 将远程服务器配置为Jenkins节点。然后,使用管道脚本,如:
node("myBuildNodeNameOrLabel") { bat """echo scripting output > myScriptOutput.txt""" stash includes: 'myScriptOutput.txt', name: 'myScriptOutput' } node("myRemoteServerNodeNameOrLabel") { unstash 'myScriptOutput' // copy the file to another local folder outside the workspace bat """copy myScriptOutput.txt d:\\some\\other\\path""" }
- 同上,但使用Groovy捕获脚本输出,然后对其进行操作
myOutput = bat returnStdout: true, script: """echo scripting output""" // now do whatever you want with the Groovy var myOutput...
- 该插件可以通过电子邮件发送Jenkins的控制台输出
- 我找到了一种方法。我们可以使用Jenkins REST API,它将帮助我们读取控制台输出,我们可以将其写入文件并执行必要的操作。您是否正在为您的任务编写Jenkins插件?我只是使用Jenkins中的
execute shell command
选项来触发我的shell脚本,并给出shell脚本位置的路径。我希望我在jenkins控制台上得到的输出被写入到远程服务器中的文件中。啊。最后是一个建议。我认为拷贝(scp)和归档到工件看起来更好。我会试试这个,最早会给你回复。谢谢我还需要检查此服务器与windows服务器之间是否存在连接。