Jenkins:从属节点上的日志文件位置?
Jenkins: Logfile location on slave nodes?
我有一个通过 JNLP 连接的 jenkins 主从设置。一切正常,除了我在从节点上找不到任何日志。在“$JENKINS-HOME/logs/slaves”主节点上有日志,但在从节点上none。
能不能告诉我日志在哪条路径上,或者从节点上有没有日志?
非常感谢!
Q
Jenkins 仅将所有日志存储在 master 上,这就是为什么您在节点上找不到任何日志的原因。
它们大多是通过TCP传输给Master的。
例如,当一个步骤开始时,像一个 shell 任务,会这样做
- 调用您的 shell 内容
# your script will be transform into a script file
script.sh > jenkins-log.txt
# running...
# after running
echo $? > jenkins-result.txt
- 在运行进程中,数据将通过TCP传输(拉或推)
jenkins-log.txt -> Filestream -> RemoteStream -> Master
而在 master 中,你会看到类似的单个日志
jobs/xxx/branch/master/<id>/log
- 作业完成后,master 会发送命令清理代理中的临时目录,因此您看不到任何日志。
还有一点,在我们公司,我们面临着像DDOS一样向Master发送过多日志的问题,所以一个简单的解决方法是在shell
尾部限制
xxx | tail -c 512k
或者通过head命令限制大小
xxx | (head -n 1000;dd status=none of=/dev/null)
在 Windows,从站将错误日志存储在与 slave.jar 文件相同的文件夹中。
报告如下:
Dec 19, 2018 2:38:14 PM hudson.remoting.Engine waitForServerToBack
"INFO: Failed to connect to the master. Will retry again".
该消息将永远不会出现上传到 Master。
我希望在其他从站上看到类似的日志文件。
我有一个通过 JNLP 连接的 jenkins 主从设置。一切正常,除了我在从节点上找不到任何日志。在“$JENKINS-HOME/logs/slaves”主节点上有日志,但在从节点上none。
能不能告诉我日志在哪条路径上,或者从节点上有没有日志?
非常感谢!
Q
Jenkins 仅将所有日志存储在 master 上,这就是为什么您在节点上找不到任何日志的原因。
它们大多是通过TCP传输给Master的。 例如,当一个步骤开始时,像一个 shell 任务,会这样做
- 调用您的 shell 内容
# your script will be transform into a script file
script.sh > jenkins-log.txt
# running...
# after running
echo $? > jenkins-result.txt
- 在运行进程中,数据将通过TCP传输(拉或推)
jenkins-log.txt -> Filestream -> RemoteStream -> Master
而在 master 中,你会看到类似的单个日志
jobs/xxx/branch/master/<id>/log
- 作业完成后,master 会发送命令清理代理中的临时目录,因此您看不到任何日志。
还有一点,在我们公司,我们面临着像DDOS一样向Master发送过多日志的问题,所以一个简单的解决方法是在shell
尾部限制
xxx | tail -c 512k
或者通过head命令限制大小
xxx | (head -n 1000;dd status=none of=/dev/null)
在 Windows,从站将错误日志存储在与 slave.jar 文件相同的文件夹中。 报告如下:
Dec 19, 2018 2:38:14 PM hudson.remoting.Engine waitForServerToBack
"INFO: Failed to connect to the master. Will retry again".
该消息将永远不会出现上传到 Master。
我希望在其他从站上看到类似的日志文件。