ubuntu 上的 Jenkins 从进程未显示任何日志记录
Jenkins slave process on ubuntu not showing any logging
我有一个 Ubuntu VM 专用于 Jenkins 从属。我为 运行 slave jar 写了一个单行脚本,我 运行 来自 /etc/rc.local 的那个脚本。当我手动 运行 脚本时,我得到几行输出表明它正在运行。我试图定义 rc.local 行和脚本,以便将 stdout/stderr 存储在一个文件中,但该文件的长度始终为零,并带有我启动进程的时间。
以下部分字段用“=stuff=”省略。
我的“/etc/rc.local”的结尾是这样的:
su -c "/home/=user=/bin/jenkinsconnect" =user=
exit 0
"jenkinsconnect" 脚本如下所示:
#! /bin/bash
java -jar /home/=user=/opnfv_slave_root/slave.jar -jnlpUrl https://=host=/ci/computer/att-build/slave-agent.jnlp -secret =secret= 2>&1 > /home/=user=/jc.log
正如我所说,“/home/=user=/jc.log”的长度始终为零,modtime 是我启动进程的时间。
2>&1 > file
语法将不起作用。您应该:
- 使用
&>
将 stderr 和 stdout 都指向一个文件,或者
用圆括号括起整个命令以捕获输出:
(java -jar /home/=user=/opnfv_slave_root/slave.jar ... 2>&1) > /home/=user=/jc.log
我有一个 Ubuntu VM 专用于 Jenkins 从属。我为 运行 slave jar 写了一个单行脚本,我 运行 来自 /etc/rc.local 的那个脚本。当我手动 运行 脚本时,我得到几行输出表明它正在运行。我试图定义 rc.local 行和脚本,以便将 stdout/stderr 存储在一个文件中,但该文件的长度始终为零,并带有我启动进程的时间。
以下部分字段用“=stuff=”省略。
我的“/etc/rc.local”的结尾是这样的:
su -c "/home/=user=/bin/jenkinsconnect" =user=
exit 0
"jenkinsconnect" 脚本如下所示:
#! /bin/bash
java -jar /home/=user=/opnfv_slave_root/slave.jar -jnlpUrl https://=host=/ci/computer/att-build/slave-agent.jnlp -secret =secret= 2>&1 > /home/=user=/jc.log
正如我所说,“/home/=user=/jc.log”的长度始终为零,modtime 是我启动进程的时间。
2>&1 > file
语法将不起作用。您应该:
- 使用
&>
将 stderr 和 stdout 都指向一个文件,或者 用圆括号括起整个命令以捕获输出:
(java -jar /home/=user=/opnfv_slave_root/slave.jar ... 2>&1) > /home/=user=/jc.log