本發(fā)明涉及項目代碼開發(fā)技術領域,特別涉及一種面向持續(xù)集成的告警系統(tǒng)及方法。
背景技術:
持續(xù)集成是一種被業(yè)界認可和廣泛使用的軟件開發(fā)實踐,是敏捷開發(fā)的必要組成,它能夠使開發(fā)團隊的工作快速集成并驗證,及時發(fā)現(xiàn)所開發(fā)軟件在集成中出現(xiàn)的問題。在實踐中,為了保證開發(fā)效率和質(zhì)量,往往規(guī)定持續(xù)集成構建失敗,需要當天解決,否則全組人員不能下班。對于持續(xù)集成的結果,不僅開發(fā)人員需要關心,而且各級管理人員也非常關切。然而,在實際應用中,制約持續(xù)集成問題解決的關鍵在于如何將構建結果及時有效地通知到相關的各類人員。
目前,監(jiān)控并反饋持續(xù)集成狀態(tài)的方法或裝置主要有三種方式:一是沒有任何展示和提醒方式,需要人員主動關注Jenkins等持續(xù)集成軟件界面或查詢持續(xù)集成任務的構建日志來確定持續(xù)集成任務的集成狀態(tài);二是持續(xù)集成工具集成了電子郵件發(fā)送模塊或即時通訊模塊,將持續(xù)集成任務的狀態(tài)通過郵件等方式推送給特定的人;三是利用電腦顯示器或者通過USB接口連接指示燈、音響等外部設備,及時反饋持續(xù)集成任務的集成狀態(tài);但是以上三種方法均存在缺陷。
第一種方法是人員主動關注Jenkins等持續(xù)集成軟件的界面或查詢持續(xù)集成的構建日志來查看持續(xù)集成任務的集成狀態(tài),這種方式會造成響應速度變慢而且進度不可控,問題修復周期延長,進而影響持續(xù)集成的有效性和及時性,使得集成難以持續(xù)。
第二種方法是通過將電子郵件發(fā)送模塊或即時通訊模塊等集成到持續(xù)集成工具中,并將持續(xù)集成任務的結果通過郵件等方式推送給特定的人(即在持續(xù)集成軟件中固定配置相關聯(lián)系人的郵箱地址、辦公通信軟件地址和音箱播放特定音頻的方式來進行通知)。例如,在持續(xù)集成系統(tǒng)及方法中包含一個定向發(fā)送模塊,用于將構建錯誤信息發(fā)往其所有者的信息接收端。通過郵件通知的方式將構建結果發(fā)送給相應開發(fā)人員,郵件中攜帶構建結果文件,開發(fā)人員需要人工閱讀構建結果文件,從中找出屬于自己的代碼錯誤,然后進行代碼修改。當開發(fā)人員由于不在電腦旁或不能及時查看郵件時,則不能及時發(fā)現(xiàn)這些郵件信息并快速解決問題,以致延誤處理時機。
第三種方法是利用電腦顯示器或者通過USB接口連接指示燈、音響等外部設備,及時反饋持續(xù)集成任務的集成狀態(tài)。例如,百度公司的QA小組提出了一種低成本的持續(xù)集成及時反饋解決方案,在這個方案中將一盞USB燈(Lavalamp)放在一臺靠近持續(xù)集成團隊的臺式機上,通過安裝對應的持續(xù)集成軟件的插件,能夠使用不同的顏色顯示指定持續(xù)集成任務的當前狀態(tài),還能在持續(xù)集成失敗或部分失敗時以報警聲引起注意。同時提出可以通過持續(xù)集成軟件的插件,用顯示器和音響設備客串Lavalamp燈的視覺和聽覺效果。這種方法雖然能及時響應,但是需要將持續(xù)集成軟件服務器裝在一臺有聲卡設備的服務器上,所以對電腦的依賴性比較強,可移植性較差。例如,當持續(xù)集成服務器安裝在云主機或虛擬機上則無法使用,然而目前實踐中持續(xù)集成服務器恰恰普遍不在物理機上。此外,該方案需要被通知人員在場才能奏效,通知形式單一,限制了可用范圍。
此外,上述各種方案都不能很好地適用于規(guī)模化敏捷下的持續(xù)集成,對于組織級的敏捷實施來說,上述方案都顯得捉襟見肘。
技術實現(xiàn)要素:
本發(fā)明實施例提供了一種面向持續(xù)集成的告警系統(tǒng),以解決現(xiàn)有技術監(jiān)控并反饋持續(xù)集成狀態(tài)過程中存在的通知形式單一、對電腦的依賴性比較強、可移植性較差的技術問題。該系統(tǒng)包括:管理裝置,用于與持續(xù)集成系統(tǒng)進行交互,實時獲取所述持續(xù)集成系統(tǒng)的任務集成狀態(tài)信息;將所述任務集成狀態(tài)信息與預設的通知告警規(guī)則中的告警狀態(tài)信息進行匹配,在匹配成功時,按照所述通知告警規(guī)則的通知方式和通知對象,對所述任務集成狀態(tài)信息生成通知告警指令;根據(jù)所述通知告警指令發(fā)出信息形式的告警通知;控制終端,用于根據(jù)所述通知告警指令發(fā)出聲和光形式的告警通知。
在一個實施例中,所述任務集成狀態(tài)信息,包括:任務集成的構建結果和/或任務集成過程中的各個工作狀態(tài)。
在一個實施例中,預設的通知告警規(guī)則是用戶根據(jù)不同告警需求配置的,每個通知告警規(guī)則中包括所述告警狀態(tài)信息、與所述告警狀態(tài)信息對應的通知對象和與所述告警狀態(tài)信息對應的通知方式。
在一個實施例中,所述管理裝置,包括:管理模塊,用于運行管理軟件與持續(xù)集成系統(tǒng)進行交互,實時獲取所述持續(xù)集成系統(tǒng)的任務集成狀態(tài)信息;將所述任務集成狀態(tài)信息與預設的通知告警規(guī)則中的告警狀態(tài)信息進行匹配,在匹配成功時,按照所述通知告警規(guī)則的通知方式和通知對象,對所述任務集成狀態(tài)信息生成通知告警指令;第一通信模塊,用于根據(jù)所述通知告警指令發(fā)出信息形式的告警通知,將所述通知告警指令發(fā)送給所述控制終端;所述控制終端,包括:第二通信模塊、控制芯片、光形式的告警設備以及聲形式的告警設備,其中,所述第二通信模塊,用于接收所述通知告警指令;所述控制芯片,用于根據(jù)所述通知告警指令控制所述光形式的告警設備發(fā)出光形式的告警通知;根據(jù)所述通知告警指令控制所述聲形式的告警設備發(fā)出聲形式的告警通知。
在一個實施例中,所述管理模塊運行PC(Personal Computer,個人計算機)版本、APP(Application,客戶端應用軟件)版本或WEB版本的管理軟件。
在一個實施例中,所述第一通信模塊,還用于接收面向持續(xù)集成的告警系統(tǒng)外的終端發(fā)送的控制所述持續(xù)集成系統(tǒng)操作的控制指令;接收所述第二通信模塊發(fā)送的所述控制終端的工作狀態(tài)信息;所述第二通信模塊,還用于接收面向持續(xù)集成的告警系統(tǒng)外的終端發(fā)送的控制所述控制終端發(fā)出聲和光形式的告警通知的控制信息。
在一個實施例中,還包括:顯示器,用于根據(jù)所述通知告警指令顯示所述任務集成狀態(tài)信息;和/或,揚聲器,用于根據(jù)所述通知告警指令播放音頻形式的告警通知。
在一個實施例中,所述控制終端,還包括:繼電器,用于連接告警設備。
在一個實施例中,所述控制終端,還包括:控制接口,用于連接告警設備。
本發(fā)明實施例還提供了一種面向持續(xù)集成的告警方法,以解決現(xiàn)有技術監(jiān)控并反饋持續(xù)集成狀態(tài)過程中存在的通知形式單一、對電腦的依賴性比較強、可移植性較差的技術問題。該方法包括:與持續(xù)集成系統(tǒng)進行交互,實時獲取所述持續(xù)集成系統(tǒng)的任務集成狀態(tài)信息;將所述任務集成狀態(tài)信息與預設的通知告警規(guī)則中的告警狀態(tài)信息進行匹配,在匹配成功時,按照所述通知告警規(guī)則的通知方式和通知對象,對所述任務集成狀態(tài)信息生成通知告警指令;根據(jù)所述通知告警指令發(fā)出聲、光以及信息形式的告警通知。
在一個實施例中,所述任務集成狀態(tài)信息,包括:任務集成的構建結果和/或任務集成過程中的各個工作狀態(tài)。
在一個實施例中,預設的通知告警規(guī)則是用戶根據(jù)不同告警需求配置的,每個通知告警規(guī)則中包括所述告警狀態(tài)信息、與所述告警狀態(tài)信息對應的通知對象和與所述告警狀態(tài)信息對應的通知方式。
在本發(fā)明實施例中,通過管理裝置與持續(xù)集成系統(tǒng)進行交互,來實時獲取持續(xù)集成系統(tǒng)的任務集成狀態(tài)信息,并將任務集成狀態(tài)信息與預設的通知告警規(guī)則中的告警狀態(tài)信息進行匹配,在匹配成功時,按照通知告警規(guī)則的通知方式和通知對象,對任務集成狀態(tài)信息生成通知告警指令,最后,管理裝置根據(jù)通知告警指令發(fā)出信息形式的告警通知,控制終端根據(jù)通知告警指令發(fā)出聲和光形式的告警通知,實現(xiàn)了可以結合聲光電同時發(fā)出不同形式的告警通知,以使得不同開發(fā)人員可以及時、有效地接收到各自所關心的告警通知,也提高了該面向持續(xù)集成的告警系統(tǒng)的可用范圍。同時,由于是通過控制終端來實現(xiàn)聲和光形式的告警通知,該控制終端是獨立于持續(xù)集成系統(tǒng)的,使得持續(xù)集成系統(tǒng)的服務器可以裝在一臺沒有聲卡設備的服務器上,例如,持續(xù)集成服務器可以安裝在云主機或虛擬機上使用,而且控制終端的位置也不受限,從而降低了對電腦的依賴性,提高了可移植性,有利于適應規(guī)模化敏捷下多個團隊分布在多個辦公區(qū)的協(xié)調(diào)問題。
附圖說明
此處所說明的附圖用來提供對本發(fā)明的進一步理解,構成本申請的一部分,并不構成對本發(fā)明的限定。在附圖中:
圖1是本發(fā)明實施例提供的一種面向持續(xù)集成的告警系統(tǒng)的結構框圖;
圖2是本發(fā)明實施例提供的一種控制終端的結構示意圖;
圖3是本發(fā)明實施例提供的一種面向持續(xù)集成的告警系統(tǒng)的實施示意圖;
圖4是本發(fā)明實施例提供的一種面向持續(xù)集成的告警系統(tǒng)的工作流程圖;
圖5是本發(fā)明實施例提供的一種面向持續(xù)集成的告警方法的流程圖。
具體實施方式
為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚明白,下面結合實施方式和附圖,對本發(fā)明做進一步詳細說明。在此,本發(fā)明的示意性實施方式及其說明用于解釋本發(fā)明,但并不作為對本發(fā)明的限定。
在本發(fā)明實施例中,提供了一種面向持續(xù)集成的告警系統(tǒng),如圖1所示,該系統(tǒng)包括:
管理裝置101,用于與持續(xù)集成系統(tǒng)進行交互,實時獲取所述持續(xù)集成系統(tǒng)的任務集成狀態(tài)信息;將所述任務集成狀態(tài)信息與預設的通知告警規(guī)則中的告警狀態(tài)信息進行匹配,在匹配成功時,按照所述通知告警規(guī)則的通知方式和通知對象,對所述任務集成狀態(tài)信息生成通知告警指令;根據(jù)所述通知告警指令發(fā)出信息形式的告警通知。
控制終端102,用于根據(jù)所述通知告警指令發(fā)出聲和光形式的告警通知。
由圖1所示可知,在本發(fā)明實施例中,通過管理裝置與持續(xù)集成系統(tǒng)進行交互,來實時獲取持續(xù)集成系統(tǒng)的任務集成狀態(tài)信息,并將任務集成狀態(tài)信息與預設的通知告警規(guī)則中的告警狀態(tài)信息進行匹配,在匹配成功時,按照通知告警規(guī)則的通知方式和通知對象,對任務集成狀態(tài)信息生成通知告警指令,最后,管理裝置根據(jù)通知告警指令發(fā)出信息形式的告警通知,控制終端根據(jù)通知告警指令發(fā)出聲和光形式的告警通知,實現(xiàn)了可以結合聲光電同時發(fā)出不同形式的告警通知,以使得不同開發(fā)人員可以及時、有效地接收到各自所關心的告警通知,也提高了該面向持續(xù)集成的告警系統(tǒng)的可用范圍。同時,由于是通過控制終端來實現(xiàn)聲和光形式的告警通知,該控制終端是獨立于持續(xù)集成系統(tǒng)的,使得持續(xù)集成系統(tǒng)的服務器可以裝在一臺沒有聲卡設備的服務器上,例如,持續(xù)集成服務器可以安裝在云主機或虛擬機上使用,而且控制終端的位置也不受限,從而降低了對電腦的依賴性,提高了可移植性,有利于適應規(guī)?;艚菹露鄠€團隊分布在多個辦公區(qū)的協(xié)調(diào)問題。
具體實施時,上述任務集成狀態(tài)信息可以包括:任務集成的構建結果和/或任務集成過程中的各個工作狀態(tài)。即該任務集成狀態(tài)信息不僅僅可以包括任務集成的構建結果,例如,某任務集成的構建失敗結果;還可以包括持續(xù)集成系統(tǒng)任務集成過程中的各個工作狀態(tài),例如,某個任務集成的實時進度狀態(tài)等,任務集成狀態(tài)信息的豐富使得開發(fā)人員可以在關注構建結果的同時實時監(jiān)控持續(xù)集成系統(tǒng)的任務集成過程。
具體實施時,為了實現(xiàn)可以隨時隨地的配置通知告警規(guī)則,針對不同告警需求實現(xiàn)定制化、便捷地、實時、有效地告警,在本實施例中,預設的通知告警規(guī)則是用戶可以根據(jù)不同告警需求配置的,例如,可以通過參數(shù)化配置的方式來配置通知告警規(guī)則。每個通知告警規(guī)則中包括所述告警狀態(tài)信息、與所述告警狀態(tài)信息對應的通知對象和與所述告警狀態(tài)信息對應的通知方式。例如,針對某個報警需求,可以先確定該通知告警規(guī)則中包括的告警狀態(tài)信息,例如,該告警狀態(tài)信息可以是構建結果、任務集成過程中的某個工作狀態(tài)以及某個工作狀態(tài)的多次組合;然后對通知對象進行分層、分角色地確定該告警狀態(tài)信息需要通知的對象,例如,該通知對象是個人還是一個群體,實現(xiàn)定向通知告警和范圍通知告警相結合;再根據(jù)告警狀態(tài)信息是否為緊急情況或通知對象的特性,確定通知方式,例如,通過聲、光以及信息形式同時向通知對象發(fā)出告警通知,具體的,信息形式可以通過發(fā)短信或郵件實現(xiàn),聲形式的告警通知可以通過蜂鳴器或語音電話實現(xiàn),光形式的告警通知可以通過報警燈實現(xiàn)。
具體的,配置完成的通知告警規(guī)則可以保存在“通知告警規(guī)則庫”當中,同時“通知告警規(guī)則庫”中也可以有一些預置的常用規(guī)則供用戶使用,“通知告警規(guī)則庫”還可以存儲與通知告警規(guī)則相關可能的解決方案,以便需要時及時調(diào)用,使持續(xù)集成的問題及時得到解決。
具體實施時,在本實施例中,所述管理裝置101,包括:管理模塊,用于運行管理軟件與持續(xù)集成系統(tǒng)進行交互,實時獲取所述持續(xù)集成系統(tǒng)的任務集成狀態(tài)信息;將所述任務集成狀態(tài)信息與預設的通知告警規(guī)則中的告警狀態(tài)信息進行匹配,在匹配成功時,按照所述通知告警規(guī)則的通知方式和通知對象,對所述任務集成狀態(tài)信息生成通知告警指令;第一通信模塊,用于根據(jù)所述通知告警指令發(fā)出信息形式的告警通知,將所述通知告警指令發(fā)送給所述控制終端;
如圖2所示,所述控制終端102,包括:第二通信模塊201、控制芯片202、光形式的告警設備以及聲形式的告警設備,其中,所述第二通信模塊201,用于接收所述通知告警指令;具體的,該第二通信模塊201可以是串口通信模塊。所述控制芯片202,用于根據(jù)所述通知告警指令控制所述光形式的告警設備發(fā)出光形式的告警通知;根據(jù)所述通知告警指令控制所述聲形式的告警設備發(fā)出聲形式的告警通知。具體的,控制芯片202作為控制終端102的核心,用于控制和協(xié)調(diào)控制終端上接口設備的運行,該控制芯片202上集成完整的片上操作系統(tǒng)2012,來控制電子電路。如圖2所示,上述聲形式的告警設備可以是通過蜂鳴器接口204連接的蜂鳴器,上述光形式的告警設備可以是通過報警燈接口203連接的報警燈。
具體實施時,為了便于擴展控制終端102的外部設備,在本實施例中,上述控制終端102還包括:繼電器,用于連接告警設備,如圖2所示,該繼電器通過繼電器接口206連接在控制終端102上,該繼電器是一種電控制器件,用于片上操作系統(tǒng)擴展控制外部設備。此外,上述控制終端102還包括:控制接口205,用于連接告警設備,該控制接口205作為控制終端102的預留控制接口,以便在需要時,用戶可以隨時在控制終端102上擴展裝配各種不同的外部告警設備。
具體實施時,如圖2所示,上述控制終端102還可以包括控制面板207、電源模塊208、顯示模塊209、時鐘模塊2010、存儲模塊、驅動模塊以及具備GPRS(General Packet Radio Service,通用分組無線服務技術)和短消息雙通道傳輸數(shù)據(jù)功能的無線通信模塊2011等。
具體實施時,上述控制終端102可通過USB(Universal Serial Bus,通用串行總線)接口連接到電腦等形式的管理裝置上,即插即拔,對電腦依賴性較低,可移植性較好??刂平K端102既能通過計算機接口,又能通過其他終端或專有設備與管理裝置通信。
具體實施時,在本實施例中,所述第一通信模塊,還用于接收面向持續(xù)集成的告警系統(tǒng)外的終端(例如,手機、平板電腦等)發(fā)送的控制所述持續(xù)集成系統(tǒng)操作的控制指令,例如,面向持續(xù)集成的告警系統(tǒng)外的終端(例如,手機、平板電腦等)通過管理軟件實時查看所述持續(xù)集成系統(tǒng)中項目的構建狀態(tài)與結果后,向第一通信模塊發(fā)送控制所述持續(xù)集成系統(tǒng)進行“重新構建”、“終止構建”、“修改構建方式”等操作的控制指令;接收所述第二通信模塊發(fā)送的所述控制終端的工作狀態(tài)信息;所述第二通信模塊,還用于接收面向持續(xù)集成的告警系統(tǒng)外的終端發(fā)送的控制所述控制終端發(fā)出聲和光形式的告警通知的控制信息,例如,第二通信模塊可以接收面向持續(xù)集成的告警系統(tǒng)外的終端發(fā)送的控制所述控制終端發(fā)出聲和光形式的告警通知的控制信息,具體的,該控制信息可以是關閉控制終端上報警燈和蜂鳴器等報警設備。
具體實施時,所述管理模塊可以運行PC版本、APP版本或WEB版本的管理軟件,以實現(xiàn)可以通過電腦、移動終端等的接口與控制終端進行通信功能。具體的,當管理軟件為PC版本時,上述管理裝置可以通過電腦實現(xiàn),當管理軟件為APP版本或WEB版本時,上述管理裝置可以通過手機、平板電腦等移動終端實現(xiàn)。
具體實施時,管理軟件可以存在兩種形式,管理軟件既可以是單獨的一個軟件,通過外部接口與持續(xù)集成軟件進行交互,也可以作為持續(xù)集成軟件中的一個插件集成進去。
具體實施時,為了進一步有效地發(fā)出告警通知,在本實施例中,上述面向持續(xù)集成的告警系統(tǒng)還包括:顯示器,用于根據(jù)所述通知告警指令顯示所述任務集成狀態(tài)信息;和/或,揚聲器,用于根據(jù)所述通知告警指令播放音頻形式的告警通知。
具體實施時,上述面向持續(xù)集成的告警系統(tǒng)可以通過如圖3所示的形式來實現(xiàn),在管理軟件為PC版本時,通過PC機1來實現(xiàn)管理裝置的功能,即在PC機1上運行PC版的管理軟件3,該管理軟件3與持續(xù)集成軟件進行交互,獲取持續(xù)集成軟件的任務集成狀態(tài)信息生成通知告警指令,根據(jù)通知告警指令發(fā)送郵件和即時通信,或者根據(jù)通知告警指令觸發(fā)控制終端上的揚聲器、警示燈等設備發(fā)出告警通知;同時可以在PC機1上運行持續(xù)集成軟件2;在管理軟件為APP版本或WEB版本時,通過手持終端設備來實現(xiàn)管理裝置的功能,例如,APP版本的管理軟件10和WEB版本的管理軟件11運行在手持終端設備12上,手持終端設備12通過無線通信的方式與控制終端進行交互,控制終端可以通過USB接口連接在PC機1上,手持終端設備12上運行的管理軟件和PC機1上運行的管理軟件均與持續(xù)集成軟件2交互,實時獲取持續(xù)集成系統(tǒng)的任務集成狀態(tài)信息,并生成通知告警指令,管理軟件可根據(jù)通知告警指令通過郵件、即時通信的方式發(fā)送信息形式的告警通知,并將通知告警指令發(fā)送給控制終端102,控制終端102根據(jù)通知告警指令通過報警燈5發(fā)出光形式的告警通知,通過蜂鳴器6發(fā)出聲形式的告警通知,此時,控制終端102還連接了繼電器7和預留接口8,以便用戶可自由決定需要裝配的告警設備,簡單易行,安全可靠;同時,PC機1還可以將通知告警指令發(fā)送給顯示屏9,該顯示屏9可以內(nèi)置揚聲器,顯示屏9根據(jù)通知告警指令顯示具體的任務集成狀態(tài)信息,揚聲器播放音頻形式的告警通知,以實現(xiàn)通過聲光電手段的任意組合,來通知關心構建結果的各層級人員。
具體實施時,以下結合具體示例來說明上述面向持續(xù)集成的告警系統(tǒng)的工作方法,如圖4所示,該方法包括以下步驟:
S1:首先要選定一款適合本項目或團隊的持續(xù)集成軟件,且此軟件需要是可以被本發(fā)明中的上述管理軟件支持的,如Jenkins等。
S2:持續(xù)集成是對開發(fā)的項目代碼的持續(xù)集成,所以這一步是將開發(fā)的項目代碼配置到持續(xù)集成軟件中,并且設定好什么樣的構建結果需要進行告警。
S3:本發(fā)明中的上述管理軟件存在兩種形式,它既可以是單獨的一個軟件,通過外部接口與持續(xù)集成軟件進行交互,也可以作為持續(xù)集成軟件中的一個插件集成進去。總之,此步是連接上述管理軟件和持續(xù)集成軟件。
S4:配置上述管理軟件,如果要實現(xiàn)郵件通知、辦公系統(tǒng)通知等,那么需要將服務信息配置到上述管理軟件中,即在通知方式包括郵件通知、辦公系統(tǒng)通知等時,將郵件地址等信息配置到上述管理軟件中。
S5:配置完成后對上述管理軟件進行測試,包括PC版、APP版和WEB版,如果用不到某一版本也可不測試該版本。測試成功則執(zhí)行S6,測試失敗則回到S4修改配置。
S6:在上述管理軟件上配置通知告警規(guī)則,如某個構建JOB的某個狀態(tài)通過怎么樣的通知方式通知給哪些人。其配置結果將保存在“通知告警規(guī)則庫”當中,同時規(guī)則庫中也可以有一些預置的常用規(guī)則供用戶使用。本發(fā)明不僅可以對構建失敗的結果進行告警,而且還支持對其他狀態(tài)和多次的狀態(tài)組合進行通知。
S7:根據(jù)S6配置的通知告警規(guī)則判斷是否需要外接設備,外接設備如本發(fā)明中控制終端和外接顯示屏等,如果需要外接設備,則執(zhí)行S8,如果不需要外接設備,則執(zhí)行S9。
S8:如果需要外接設備,則連接相應的外接告警設備。如外接顯示屏和本發(fā)明中的控制終端等。
S9:一切準備就緒后,對項目代碼持續(xù)構建,上述管理軟件等待構建結果并判斷是否觸發(fā)通知告警規(guī)則。
S10:若觸發(fā)通知告警規(guī)則,執(zhí)行S11,若不觸發(fā)通知告警規(guī)則,執(zhí)行S9。
S11:持續(xù)集成軟件的JOB構建結果如果觸發(fā)通知告警規(guī)則,則執(zhí)行設置好的動作,如郵件通知、即時通信軟件通知、短信通知、聲光告警、播放語音等。
S12:通知告警目的達成后,被通知人員可解除相關告警,并執(zhí)行相應的改正措施。
基于同一發(fā)明構思,本發(fā)明實施例中還提供了一種面向持續(xù)集成的告警方法,如下面的實施例所述。由于面向持續(xù)集成的告警方法解決問題的原理與面向持續(xù)集成的告警系統(tǒng)相似,因此面向持續(xù)集成的告警方法的實施可以參見面向持續(xù)集成的告警系統(tǒng)的實施,重復之處不再贅述。以下所使用的,術語“單元”或者“模塊”可以實現(xiàn)預定功能的軟件和/或硬件的組合。盡管以下實施例所描述的裝置較佳地以軟件來實現(xiàn),但是硬件,或者軟件和硬件的組合的實現(xiàn)也是可能并被構想的。
圖5是本發(fā)明實施例的面向持續(xù)集成的告警方法的流程圖,如圖5所示,該方法包括:
步驟501:與持續(xù)集成系統(tǒng)進行交互,實時獲取所述持續(xù)集成系統(tǒng)的任務集成狀態(tài)信息;
步驟502:將所述任務集成狀態(tài)信息與預設的通知告警規(guī)則中的告警狀態(tài)信息進行匹配,在匹配成功時,按照所述通知告警規(guī)則的通知方式和通知對象,對所述任務集成狀態(tài)信息生成通知告警指令;
步驟503:根據(jù)所述通知告警指令發(fā)出聲、光以及信息形式的告警通知。
在一個實施例中,所述任務集成狀態(tài)信息,包括:任務集成的構建結果和/或任務集成過程中的各個工作狀態(tài)。
在一個實施例中,預設的通知告警規(guī)則是用戶根據(jù)不同告警需求配置的,每個通知告警規(guī)則中包括所述告警狀態(tài)信息、與所述告警狀態(tài)信息對應的通知對象和與所述告警狀態(tài)信息對應的通知方式。
在本發(fā)明實施例中,通過管理裝置與持續(xù)集成系統(tǒng)進行交互,來實時獲取持續(xù)集成系統(tǒng)的任務集成狀態(tài)信息,并將任務集成狀態(tài)信息與預設的通知告警規(guī)則中的告警狀態(tài)信息進行匹配,在匹配成功時,按照通知告警規(guī)則的通知方式和通知對象,對任務集成狀態(tài)信息生成通知告警指令,最后,管理裝置根據(jù)通知告警指令發(fā)出信息形式的告警通知,控制終端根據(jù)通知告警指令發(fā)出聲和光形式的告警通知,實現(xiàn)了可以結合聲光電同時發(fā)出不同形式的告警通知,以使得不同開發(fā)人員可以及時、有效地接收到各自所關心的告警通知,也提高了該面向持續(xù)集成的告警系統(tǒng)的可用范圍。同時,由于是通過控制終端來實現(xiàn)聲和光形式的告警通知,該控制終端是獨立于持續(xù)集成系統(tǒng)的,使得持續(xù)集成系統(tǒng)的服務器可以裝在一臺沒有聲卡設備的服務器上,例如,持續(xù)集成服務器可以安裝在云主機或虛擬機上使用,而且控制終端的位置也不受限,從而降低了對電腦的依賴性,提高了可移植性,有利于適應規(guī)模化敏捷下多個團隊分布在多個辦公區(qū)的協(xié)調(diào)問題。
顯然,本領域的技術人員應該明白,上述的本發(fā)明實施例的各模塊或各步驟可以用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網(wǎng)絡上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明實施例不限制于任何特定的硬件和軟件結合。
以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領域的技術人員來說,本發(fā)明實施例可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。