Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell 将Jenkins控制台输出写入远程服务器中的文件_Shell_Jenkins_Jenkins Plugins - Fatal编程技术网

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
控制台输出写入远程服务器中的文本文件:

  • 任何构建后操作或
  • 任何外部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服务器之间是否存在连接。