在 jenkins pipeline 中注入精确时间需安装并启用 build timestamp 插件,配置格式后通过 ${build_timestamp} 在 sh 步骤中打印,如 sh 'echo "[info] build time: ${build_timestamp}"'。

要在 Linux 环境下的 Jenkins 流水线(Pipeline)日志中注入精确的时间,关键不是靠日志着色或时间戳高亮,而是让每次构建的准确时间作为可读、可复用的变量出现在日志输出里。Build Timestamp 插件本身不直接“注入日志”,但它提供 BUILD_TIMESTAMP 环境变量——你只需在脚本步骤中显式打印它,就能实现在日志中留下带格式的精确时间。
确保插件已正确安装并全局启用
Build Timestamp 插件必须完成两步才生效:安装 + 全局配置启用。缺一不可。
- 进入 Manage Jenkins → Plugin Manager → Available,搜索并安装 Build Timestamp Plugin
- 安装后,前往 Manage Jenkins → Configure System,找到 Build Timestamp 区域
- 勾选 Enable Build Timestamp(有些版本叫 “Use Build Timestamp”),并设置你想要的格式,例如:
yyyy-MM-dd HH:mm:ss.SSS Z(含毫秒和时区) - 保存配置,否则所有 Pipeline 都拿不到
BUILD_TIMESTAMP
在声明式 Pipeline 中打印精确时间到日志
直接在 steps 里用 sh 打印环境变量即可。Jenkins 会自动将 ${BUILD_TIMESTAMP} 替换为实际值,并原样输出到控制台日志。
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
- 推荐写法(Shell 脚本中使用大括号避免变量混淆):
sh 'echo "[INFO] Build time: ${BUILD_TIMESTAMP}"' - 如果想在多个阶段统一打点,可封装成函数:
def logTime() { sh "echo [TIMESTAMP] \${BUILD_TIMESTAMP}" },然后在各 stage 中调用logTime() - 注意:不要写成
$BUILD_TIMESTAMP(无大括号),在单引号 shell 中不会展开;双引号需转义\${BUILD_TIMESTAMP}防止 Groovy 提前解析
补充增强:让时间更醒目、更结构化
纯 echo 输出容易被淹没。加一点小技巧,能让时间信息更易定位、更适合后续日志分析。
- 用 ANSI 颜色包裹(需配合
ansiColor插件):sh 'echo -e "\033[1;36m[⏱️ BUILD TIME] ${BUILD_TIMESTAMP}\033[0m"' - 导出为文件供归档:
sh 'echo "${BUILD_TIMESTAMP}" > build-start-time.txt' - 与 Git 提交信息联动:
sh 'echo "Built from commit $(git rev-parse --short HEAD) at ${BUILD_TIMESTAMP}"'
验证是否生效的最快方式
写一个最小化测试流水线,运行后立刻检查控制台输出是否有你设定格式的时间串:
- 新建 Pipeline 任务,配置如下:
pipeline {<br> agent any<br> stages {<br> stage('Check Time') {<br> steps {<br> sh 'echo "Current BUILD_TIMESTAMP: ${BUILD_TIMESTAMP}"'<br> }<br> }<br> }<br>}<br>
- 运行构建,打开 Console Output,搜索
BUILD_TIMESTAMP—— 若看到类似2026-05-02 07:57:23.142 CST的输出,说明已成功注入










