Jenkins 的輸出日志也可以變得色色的

在《使用Jenkins實(shí)現(xiàn)持續(xù)集成構(gòu)建檢查》一文中菩收,寫到了這么一段話:

在這里媒殉,我們還可以通過--disable_output_color開關(guān)將輸出日志的顏色關(guān)閉。之所以實(shí)現(xiàn)這么一個功能,是因?yàn)樵贘enkins中本來也無法顯示顏色盅粪,但是如果還將Terminal中有顏色的日志內(nèi)容輸出到Jenkins中,就會出現(xiàn)一些額外的字符悄蕾,比較影響日志的美觀票顾。

非常感謝熱心的讀者,及時地為我糾正了這一點(diǎn)帆调。事實(shí)上奠骄,當(dāng)前在Jenkins中,是可以通過安裝插件來實(shí)現(xiàn)在輸出日志中顯示顏色的番刊。

這個插件就是AnsiColor含鳞。

安裝 && 配置

安裝的方式很簡單,【Manage Jenkins】->【Manage Plugins】芹务,搜索AnsiColor進(jìn)行安裝即可蝉绷。

安裝完成后,在Jenkins Project的Configure頁面中枣抱,Build Environment欄目下會多出Color ANSI Console Output配置項(xiàng)熔吗,勾選后即可開啟顏色輸出配置。

Jenkins Color ANSI Console Output

ANSI color map的列表選擇框中佳晶,存在多個選項(xiàng)桅狠,默認(rèn)情況下,選擇xterm即可。

保存配置后中跌,再次執(zhí)行構(gòu)建時咨堤,就可以在Console中看到顏色輸出了。

效果圖

使用xctool命令編譯iOS應(yīng)用時晒他,在Jenkins的Console output中會看到和Terminal中一樣的顏色效果吱型。

Jenkins Console Output Colored

補(bǔ)充說明

需要說明的是,在輸出日志中顯示顏色陨仅,依賴于輸出的日志本身津滞。也就是說,如果輸出日志時并沒有ANSI escape sequences灼伤,那么安裝該插件后也沒有任何作用触徐,并不會憑空給日志加上顏色。

例如狐赡,如果采用xcodebuild命令編譯iOS應(yīng)用撞鹉,那么輸出日志就不會顯示顏色。

說到這里颖侄,再簡單介紹下ANSI escape sequences鸟雏。

ANSI escape sequences

ANSI escape sequences,也叫ANSI escape codes览祖,主要是用于對Terminal中的文本字符進(jìn)行顏色的控制孝鹊,包括字符背景顏色和字符顏色。

使用方式如下:

33[字符背景顏色;字符顏色m{String}33[0m

其中展蒂,33[字符背景顏色;字符顏色m是開始標(biāo)識又活,33[0m是結(jié)束標(biāo)識,{String}是原始文本內(nèi)容锰悼。通過這種形式柳骄,就可以對輸出的文本顏色進(jìn)行控制。

具體地箕般,字符顏色和字符背景顏色的編碼如下:

字符顏色(foreground color):30~37

  • 30:黑
  • 31:紅
  • 32:綠
  • 33:黃
  • 34:藍(lán)色
  • 35:紫色
  • 36:深綠
  • 37:白色

字符背景顏色(background color):40~47

  • 40:黑
  • 41:深紅
  • 42:綠
  • 43:黃色
  • 44:藍(lán)色
  • 45:紫色
  • 46:深綠
  • 47:白色

需要說明的是耐薯,字符背景顏色和字符顏色并非必須同時設(shè)置,也可以只設(shè)置一項(xiàng)丝里。

代碼示例

掌握了以上概念后可柿,我們就可以通過對打印日志的代碼進(jìn)行一點(diǎn)調(diào)整,然后就可以讓輸出的日志更加美觀了丙者。

以Ruby為例,在Sting基礎(chǔ)類中添加一些展示顏色的方法营密。

class String
  # colorization
  def colorize(color_code)
    "\e[#{color_code}m#{self}\e[0m"
  end

  def red
    colorize(31)
  end

  def green
    colorize(32)
  end

  def yellow
    colorize(33)
  end
end

然后械媒,我們在打印日志時就可以通過如下方式來控制日志的顏色了。

# 步驟執(zhí)行正常,輸出為綠色
step_action_desc += "    ...    ?"
puts step_action_desc.green

# 步驟執(zhí)行異常纷捞,輸出為紅色
step_action_desc += "    ...    ?"
puts step_action_desc.red

展示效果如下圖所示痢虹。

Terminal Output Colored

是不是好看多了?

原文鏈接:http://debugtalk.com/post/make-Jenkins-Console-Output-Colorful/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末主儡,一起剝皮案震驚了整個濱河市奖唯,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌糜值,老刑警劉巖丰捷,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異寂汇,居然都是意外死亡病往,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進(jìn)店門骄瓣,熙熙樓的掌柜王于貴愁眉苦臉地迎上來停巷,“玉大人,你說我怎么就攤上這事榕栏∨锨冢” “怎么了?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵扒磁,是天一觀的道長庆揪。 經(jīng)常有香客問我,道長渗磅,這世上最難降的妖魔是什么嚷硫? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮始鱼,結(jié)果婚禮上仔掸,老公的妹妹穿的比我還像新娘。我一直安慰自己医清,他們只是感情好起暮,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著会烙,像睡著了一般负懦。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上柏腻,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天纸厉,我揣著相機(jī)與錄音,去河邊找鬼五嫂。 笑死颗品,一個胖子當(dāng)著我的面吹牛肯尺,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播躯枢,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼则吟,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了锄蹂?” 一聲冷哼從身側(cè)響起氓仲,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎得糜,沒想到半個月后敬扛,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡掀亩,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年舔哪,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片槽棍。...
    茶點(diǎn)故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡捉蚤,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出炼七,到底是詐尸還是另有隱情缆巧,我是刑警寧澤,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布豌拙,位于F島的核電站陕悬,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏按傅。R本人自食惡果不足惜捉超,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望唯绍。 院中可真熱鬧拼岳,春花似錦、人聲如沸况芒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽绝骚。三九已至耐版,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間压汪,已是汗流浹背粪牲。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留止剖,地道東北人腺阳。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓湿滓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親舌狗。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,762評論 2 345

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理扔水,服務(wù)發(fā)現(xiàn)痛侍,斷路器,智...
    卡卡羅2017閱讀 134,599評論 18 139
  • 前言 眾所周知魔市,現(xiàn)在App的競爭已經(jīng)到了用戶體驗(yàn)為王主届,質(zhì)量為上的白熱化階段。用戶們都是很挑剔的待德。如果一個公司的推廣...
    閑云清煙閱讀 2,509評論 1 4
  • 來源:伯樂在線專欄作者 - 一縷殤流化隱半邊冰霜鏈接:http://ios.jobbole.com/87576/ ...
    飛天豬Pony閱讀 2,954評論 0 20
  • Jenkins使用及插件開發(fā)介紹 介紹 Jenkins是一個廣泛用于持續(xù)構(gòu)建的可視化web工具君丁,就是各種項(xiàng)目的的“...
    kinderao閱讀 17,343評論 5 44
  • 成績還沒出完,但是已經(jīng)看到了和以前相比的質(zhì)的飛躍将宪,突然覺得應(yīng)該將這種不尋常記錄下來绘闷,以備下一次能再遇上這樣的好事(...
    Taoaoao閱讀 394評論 0 1