我正在研究R& D项目,我的想法是从shell script
触发Jenkins
并将控制台输出写入放置在遥控器中的文件(文本文件) Windows服务器。我试着寻找选项,但没有一个是有帮助的。
有没有办法使用以下方法将Jenkins
控制台输出写入位于远程服务器中的文本文件:
是否需要连接访问才能根据需要写入输出?请帮我弄清楚。
答案 0 :(得分:2)
我可以想到几种方法来实现这个目标:
运行shell命令时,将其重定向到file:
echo scripting output > myScriptOutput.txt
然后将文件复制到远程文件共享:
copy myScriptOutput.txt \\server\share\subfolder
(可以在自由式或管道工作中完成)。
如上所述重定向输出,然后归档工件,并使用其中一个Publish Over...Plugins将其复制到远程服务器(只能在自由式作业中完成)。
将远程服务器配置为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...
Email-Ext插件可以发送Jenkins'控制台通过电子邮件输出。
答案 1 :(得分:0)
我找到了办法。我们可以使用Jenkins REST API,它将帮助我们读取控制台输出,我们可以将其写入文件并执行必要的操作。