【问题标题】:Jenkins - Can't see my shell script's logsJenkins - 看不到我的 shell 脚本的日志
【发布时间】:2014-04-07 11:47:46
【问题描述】:

编辑: 好的,所以在Vasanta Koli 的回答之后,我已经深入了解了构建。 实际上,我已经找到了完整的控制台输出。

一开始有点奇怪,因为您需要进入构建历史记录或使用构建名称后的小箭头来访问它...在直接单击构建名称时“基本”控制台输出的相同位置.

无论如何,我终于可以访问我的完整日志了!

原问题:

这个问题可能看起来很愚蠢,但在我的 Jenkins 配置中,我看不到我构建的 shell 脚本中的所有日志。

我查看了激活它的选项,但找不到。

在我的脚本中,我只是在恢复一个数据库,每个命令前都有一个回显,如下所示:

#!/usr/bin/env bash

timestamp=$(date +%T)

echo $timestamp "- Delete"
dropdb -h localhost -U user database

echo $timestamp "- Creation"
createdb -h localhost -E unicode -U user database

echo $timestamp "- Restore"
pg_restore -h localhost -U user -O -d database database.tar

所有脚本都已执行,但在我的构建中没有日志,在 Web UI 中(控制台输出) 我显然在这里遗漏了一些东西。

有人可以帮助我吗?谢谢!

【问题讨论】:

    标签: shell logging jenkins


    【解决方案1】:

    如果您需要任务(命令)执行的实际时间,请不要为时间戳设置变量

    如果您想要重定向日志,请提及它。


    应该像下面这样

    #!/usr/bin/env bash
    
    logfile=/var/log/script.log
    
    {
    echo $(date +%T) "- Delete" 
    dropdb -h localhost -U user database 
    
    echo $(date +%T) "- Creation" 
    createdb -h localhost -E unicode -U user database 
    
    echo $(date +%T) "- Restore" 
    pg_restore -h localhost -U user -O -d database database.tar 
    } >> $logfile
    

    请检查并更新

    【讨论】:

    • 感谢您的提示!起初,它是一个函数,这就是为什么它是一个变量...!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-12
    • 2022-06-22
    • 2020-06-30
    • 1970-01-01
    • 2020-12-15
    • 2020-04-19
    • 2019-03-25
    相关资源
    最近更新 更多