Jenkins-如何使-日志更可读 (jenkins部署)

教程大全 2025-07-19 17:53:30 浏览

Jenkins 的默认日志难以阅读,但日志本不必如此。

Jenkins 是一个自由开源的自动化 服务器 ,用于构建、测试和部署代码。它是持续集成Continuous Integration(CI)、持续交付Continuous Delivery(CD)的基础,可以为开发人员每天节约几小时,并保护他们免受失败的代码上线的影响。一旦代码失效或开发人员需要查看测试输出时,Jenkins提供了日志文件以供检查。

默认的 Jenkins管道Pipeline日志可能难以阅读。这篇关于 Jenkins 日志的基础知识的总结文章提供了一些技巧(和代码),说明了如何提升它们的可读性。

你获得什么

Jenkins 管道分为几个阶段。Jenkins 自动记录每个阶段的开始,记录内容如下:

[Pipeline] // stage[Pipeline] stage (hide)[Pipeline] { (apply all openshift resources)[Pipeline] dir

上文显示的内容没有太大区分度,重要的内容(如阶段的开始)未突出显示。在多达数百行的管道日志中,要找到一个阶段的起始和另外一个阶段的终止位置可能会很艰巨。当随意浏览日志寻找一个特定的阶段的时候,这种艰巨尤其明显。

Jenkins 管道是由Groovy和 Shell 脚本混合编写的。在 Groovy 代码中,日志记录很少。很多时候,日志是由命令中的不起眼的文本组成,没有详细信息。在 Shell 脚本中,打开了调试模式(),所以每条命令都会被完全具现化realized(变量被解除引用并打印出数值)并详细记录,输出也是如此。

鉴于日志可能有很多内容,通读日志获取相关信息可能很繁琐。由于在管道中被处理,并跟着一个 Shell 脚本的 Groovy 日志可读性差,它们很多时候缺少上下文:

[Pipeline] dirRunning in /home/jenkins/agent/workspace/devop-master/devops-server-pipeline/my-repo-dir/src[Pipeline] { (hide)[Pipeline] findFiles[Pipeline] findFiles[Pipeline] readYaml[Pipeline] }

我可以知道我正在使用的目录,并且知道我正在使用 Jenkins 的步骤搜索文件、读取 YAML 文件。但是我在寻找什么?我找到并读取的内容是什么?

能做什么?

我很高兴你这么问,因为这里有一些简单的做法和一些小的代码片段可以提供帮助。首先,代码如下:

def echoBanner(def ... msgs) {echo createBanner(msgs)}def errorBanner(def ... msgs) {error(createBanner(msgs))}def createBanner(def ... msgs) {return """===========================================${msgFlatten(null, msgs).join("\n")}==========================================="""}// flatten function hack included in case Jenkins security// is set to preclude calling Groovy flatten() static method// NOTE: works well on all nested collections except a Mapdef msgFlatten(def list, def msgs) {list = list ?: []if (!(msgs instanceof String) && !(msgs instanceof GString)) {msgs.each { msg ->list = msgFlatten(list, msg)}}else {list += msgs}returnlist}

将这段代码添加到每个管道的末尾,也可以加载一个 Groovy 文件或者使其成为Jenkins 共享库的一部分,这样更有效。

在每个阶段起始处(或者在阶段中的特定位置),只需调用 echoBanner

echoBanner("MY STAGE", ["DOING SOMETHING 1", "DOING SOMETHING 2"])

你的 Jenkins 日志会展示如下:

  ===========================================  MY STAGE  DOING SOMETHING 1  DOING SOMETHING 2  ===========================================

这个横幅很容易从日志中分辨出来。当正确使用它们时,它们还有助于界定管道流,并且可以很好的将日志分解开来进行阅读。

我已经在某些地方专业地使用这些代码一些时间了。在帮助管道日志更易读和流程更易理解方面,反馈是非常积极的。

上述的 errorBanner 方法以相同的方式工作,但是它会立即使脚本失效。这有助于突显失败的位置与原因。

最佳实践

Kubernetes 机密信息:无法完全透明的地方

有些事情你不希望出现在日志里暴露出来。如果你在使用 Kubernetes 并引用保存在 Kubernetes机密信息Secrets中的数据,那么你绝对不希望在日志中公开该数据,因为这些数据只是被混淆了,而没有被加密。

假如你想获取一些保存在机密信息中的数据,然后将其注入模板化 JSON 文件中。(机密信息和 JSON 模板的完整内容与此例无关。)按照最佳实践,你希望保持透明并记录你的操作,但你不想公开机密信息数据。

将脚本模式从调试()更改为命令记录()。在脚本敏感部分的结尾,将 Shell 重置为调试模式:

sh """ # change script mode From debugging to command logging set +x -v # capture>sed s/%TEMPLATE_PARAM%/${MY_SECRET_DATA}/ my-template-file.json

与 Shell 调试模式中不同,这不会具现化 Shell 变量 MY_SECRET_DATA 。显然,如果管道中在这一点出现问题,而你试图找出问题出在哪里,那么这不如调试模式有用。但这是在保持管道执行对开发人员和 DevOps 透明的同时,也保持你的秘密的最佳平衡。



如何做博客,怎么样才能让自己的博客受欢迎,点击率高??

1.坚持原创,突出特色 这是提升人气的最重要因素。 转载“热门东东”固然是个好办法,不过人们更喜欢“唯一”的原创。 记录下自己工作积累,思想瞬间,甚至生活的流水帐都是不错的填鸭方式。 萝卜青菜各有所爱,相信原创一定比新闻更持久,更有味! 2.将你的博客加入到博客圈目录或聚合类站点中。 博客圈类的网站有很多,建议多多加入,这样有助于提高BLOG的知名度。 例如: 地球在线博友圈:BlogCatalog:3.阅读别人的博客,留下有价值的评论,并附上自己的博客地址。 4.记得把你的博客地址加到你的QQ、MSN签名或名片上。 想要你的博客受人关注,多发文章,或是去访问别人的博客,别人也会来访问你的博客。 还可以让你的同学老师亲戚来看你的博客。 欢迎来看看我的博客:5.和其他的Blogger多多交流,交换友情链接。 提高个人博客的点击率的八个小秘方 总是不满意你的博客访客数量少,没什么人气示,愈写愈没有动力吗? 试试看以下八个小秘方,应该能够让你的流量加倍喔。 1. 设定个容易记住的网址 2. 在流量高的博客上留回应 - 只要你能够发表建设性及有见解的回应,相信其他读者也会希望来你的博客看看你有其他什么好料。 千万别SPAM就是了。 3. 文章更新频繁 - 月刊或是季报很难吸引人时常来阅读你的博客。 4. 版面设计美观简洁 5. 引用其他博客文章 - 只要你常引用别人的文章并且加上自己的见解,读者便会点入阅读你的博客。 6. 撰写浅显易懂的文章 7. 鼓励读者发表回应 - 一旦建立起读者社群的互动气氛,相信读者回访频率便会增高。 8. 塑照独特及差异性 - 博客这么多为何么要读你的,所以就非得写一些有特殊见解的文章。 如何增加自己博客的流量? 自己申请了个博客,也写了很多资料,可就没有人来看的确是一件不爽快的事情,那么如何才能增加自己博客的流量呢?给大家一些方法,一定会有很多人来关注你的博客。 做好了Blog,当然希望别人都来看看,一起交流探讨,看到别的Blog上万的访问量,那么多的留言和评论,而自己的Blog访问量几十几百,每天来的人没几个,是不是有点羡慕别人呢?在这里本人列出一些自己感觉比较有用的方法供大家参考,让大家知道怎样让自己的Blog也拥有高的人气。 (一)友情连接 友情连接可以给一个Blog带来稳定的访问量。 你一定要经常去串门,去人家Blog或者网站里面看看留言,然后向站主申请友情连接。 友情连接的多了,可以带来很多流量。 (二)搜索引擎登陆 把自己的Blog登陆到常用的几个搜索引擎,由于网上有大量的用户在使用搜索引擎服务,一旦你的Blog被搜索引擎检索到,将给你带了从网上四面八方的访客哦。 点下面链接可以登录自己的Blog到几个比较常用的搜索引擎:推荐您 登陆Google 登录到Baidu 登陆Yisou 登陆中国搜索 登陆SOHU (三)BBS 宣传 在一些人气比较好的BBS上宣传自己的Blog。 但是也要注意:1.不要直接发广告,这样的帖子很容易被当作广告贴被删除。 2.最好是用好头像和签名。 头像可以专门设计一个,宣传自己的Blog,签名可以加入自己Blog的介绍和连接。 3.发贴要求质量第一,发贴不在乎发贴的数量多少,发的地方多少,而帖子的质量特别重要,为什么呢?因为发的多,但总体访问量不多,我们发贴,关键是为了让更多人看,变相的宣传自己的Blog。 所以追求的是最终流量。 所以发高质量的帖子,专注一点,可以花费较小的精力,获得较好的效果。 (四)QQ宣传 QQ是我们平常接触最多的聊天工具了,上面都有自己的朋友。 写好一篇Blog后,把地址发给自己的朋友一起看一下,而Blog更是一个让别人更了解你的舞台,可要充分利用哦。 ~ 在平时也要养成一个习惯,多到别人的Blog留言,参与话题讨论,你对别人投之以李,别人也会对你报之以桃的,在网上的任何地方留言后,不忘在后面加上自己Blog的地址宣传一下,欢迎别人来访问。 当然做好宣传最根本的是要做好自己的Blog,内容更新经常一点,版面设计好看一点,Blog内容好看一点,这样下去后你也会看到自己的访问量跟别人一样“飞奔”。 博客是自己写的,博客是写人看的,只有关注的人多了,博客才有写下去的意义。 如何才能提高自己的博客受到更多人的关注呢。 很多博客过来人都说,要多留言,多参与,多交好友……这些我不想再重复。 下面是我自己的一些体会: 一、给自己的文章取一个好听的名字。 文章的标题要把自己要表达的内容清晰的告诉读者,很多的作者喜欢把文章的标题搞得很唯美,这在平面媒体上应该说是不错的,但是在网络背景下,这样做的结果是让人不知所云,当然也没有人愿意去点开那个链接看看到底作者写了什么。 那么网络需要什么样的标题呢?请你去看看和讯的博客聚焦,那里文章的标题与作者博客里的标题完全不同,博客聚焦的标题是网编们改的,一般都是描述性的语言,让人忘文生义,一看就知道文章的大概内容。 所以都能收到较好的效果。 二、博客点击都来自何处 很多人参加了太多的圈子,以为参加的越多,文章暴光率越高,点击就越多。 根据我自己的体会,博文点击大多来自于和讯博客,只有一小部分来自圈子与搜索,不知是我的统计有问题,还是其他原因。 如果一篇文章在博客首页停留的时间越久,点击率相应就越高。 毕竟看和讯首页的人最多,其次就是博客首页,至于圈子,你看看他们的点击率就知道有多少我气了。 我看了一些人气很旺的贴子,大都是零推荐,一个圈子也没有推。 三、博客文章都会在哪些地方出现 我们写一篇文章,上传到自己的博客后,除了在自己的博客里显示,一般都要推荐到几个圈子,在圈子里依时间顺序显示出来。 除了这些圈子,博客文章还有一个非常重要的地方显示,那就是博客首页的新增文章与新增原创文章。 这两个地方的流量比圈子不知要高出几千倍几万倍,如果能在这里停留一天,那点击率可想而知。 如果你的文章添加了合适的标签,那在博客的分栏中也会显示,比如文学、时政等频道,那在这些页面中,你的文章也可以体现出来。 还有一个更易于展示自我的地方,那就是聚焦,每一个分栏频道都有一个聚焦,比如文学聚焦、时政聚焦、历史聚焦等。 一般来说,聚焦栏目安排在每一页最受关注的地方,打开页面后是读者第一眼就能看到,所以点击自然就要更高。 凡是申请的博客直通车的博客,不用麻烦五六个人去顶,文章都可以在这里显示。 当然,最好能够登上博客聚焦或者上了和讯首页,在这些地方可以带来滚滚的人流,我的一篇文章就因为上了首页,两天点击就达到了八千多。 另外,博客有一个点击排行与热评排行,一篇文章如果评论足够多,也可以得到一个展示的机会。 如果你有足够多的朋友,让他们帮你评论,那你就可以很快地上了评论排行。 我就曾看到过一个博客自己不断地给自己写留言,竟然也能在排行中占有一席之地。 其他的如网摘等也是不错的地方。 四、如何在博客首页停留更长时间 博客首页不是给一个准备的,而是所有博客的,每一个人机会均等。 要想自己的文章停留更长的时间,除了文章写的好,还是有一些技巧的。 这需要自己好好考虑。 当然,一味追求点击与关注是不可取的,写博客是让人看的,但是不能强求人看。 我这些体会是写给羔和讯三个月了,写下这些体会,算是自己一个总结。 只要自己高兴,管他点与不点!

博客和微博有什么区别?哪个更好??

微博可以随时随地的用手机把自己身边事马上跟朋友分享。而博客就要自己记录起来再用电脑上传..很多细微而精彩的东西很容易忘得..当然是微博.

centos下安装jenkins英文怎么变中文

jenkins部署

需要通过修改配置文件来更改界面语言。 打开配置文件所在的目录:cd /etc/sysconfig 编辑配置文件:vi i18n 用#号把配置文件中的第一行(LANG=en_-8)注释掉。 其实在这行直接改也是可以的,不过保险点的做法还是先注释掉,等确认更改没...

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐