You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Groovy脚本向Jenkins进程标准输出写入消息

答案

完全可以在Groovy Script Console中编写代码输出内容到Jenkins进程的标准输出,容器化部署的官方Jenkins镜像默认保留了stdout输出日志的行为,不需要额外修改启动配置。

可直接运行的代码示例

方式1:直接写入JVM标准输出流

这是最直接的方式,和Java应用写stdout的逻辑完全一致:

// 打印普通字符串
System.out.println("[Script Console 自定义日志] 测试消息:输出到stdout " + new Date())

// 如果需要打印错误级别的内容,也可以写stderr
System.err.println("[Script Console 自定义错误日志] 测试错误消息")

运行后上述内容会直接进入Jenkins主进程的标准输出/错误流,容器场景下会被容器运行时捕获。

方式2:通过Jenkins内置日志框架输出

如果碰到部分定制化镜像修改了System.out重定向规则的场景,可以使用Jenkins默认依赖的java.util.logging日志框架打印,默认配置下该框架的日志同样会输出到stdout:

def customLogger = java.util.logging.Logger.getLogger("custom.script.console")
// 支持不同日志级别
customLogger.info("INFO级别自定义日志")
customLogger.warning("WARNING级别自定义日志")

验证方法

  • 单Docker部署场景:在宿主机执行docker logs -f <Jenkins容器ID/名称>,执行完脚本后就能实时看到打印的自定义内容
  • Docker Compose部署场景:在compose文件所在目录执行docker compose logs -f jenkins即可查看
  • 注意:这类直接输出到stdout的内容不会出现在Jenkins Web界面的「系统日志」页面中,该页面仅展示被持久化到本地日志文件的内容。

补充说明:手动执行java -jar jenkins.war启动时默认所有日志输出到stdout,deb/rpm等原生安装包会修改日志规则将日志写入系统常规日志目录,官方维护的Jenkins容器镜像未修改该默认行为,所有stdout输出都可通过容器日志命令查看。

内容的提问来源于stack exchange,提问作者JuanD

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.03 05:57:30