在创建应该在管道中使用的Jenkins管道或库时,通常很难使用提供的日志记录选项来调试代码。目前我用这个记录:
node {
...
sh "echo ${thingtoshow}"
}
缺点是它在Groovy / Java特定细节方面并不是非常强大 - 例如它不允许我立即转储对象的内容
它会在实际日志中造成混乱:
[Pipeline] sh
[workspace] Running shell script
+ echo 'things'
things
那么我怎样才能在Jenkins控制台中编写日志以获得一行日志输出?
编辑:即使代码示例没有显示,但在为Jenkins管道开发共享Groovy libraries时这尤其有用
答案 0 :(得分:12)
您可以使用echo
阶段:
node {
echo "qwerty"
}
它产生两行:
[Pipeline] echo
qwerty
不幸的是它产生了两行,但据我所知,这是最短的形式。
答案 1 :(得分:2)
您也可以调用核心Java的Logger。
import java.util.logging.Logger
Logger logger = Logger.getLogger('org.example.jobdsl')
logger.info('Hello from a Job DSL script!')
以上内容会在http://yourjenkinsurl/log/all
:
Jan 22, 2018 3:27:58 PM INFO org.codehaus.groovy.reflection.CachedMethod invoke
Hello from a Job DSL script!