1. 程式人生 > >認識Jenkins,瞭解它在實際工作中的應用

認識Jenkins,瞭解它在實際工作中的應用

轉自百度文庫文章,適當修改自:http://wenku.baidu.com/link?url=aexRXQ822IapdnQ2j3zaqfQj611d_XXihumaYx0qCOiEsGUkl0t7p5zrXSHuuQInz4xnSQLGDnaO6R76ADAYmV2rzXY0QqoR9Py4JSDOElW

                                                  對Jenkins的認識

Jenkins的是什麼

Jenkins是一個可持續化的整合引擎,功能實用

主要用於: 

1.      持續、自動地構建/測試軟體專案。

2.       監控一些定時執行的任務。

Jenkins擁有的特性包括:

1.      易於安裝-只要把jenkins.war部署到servlet容器,不需要資料庫支援。

2.      易於配置-所有配置都是通過其提供的web介面實現。   整合RSS/E-mail通過RSS釋出構建結果或當構建完成時通過e-mail通知。

3.      生成JUnit/TestNG測試報告。

4.      分散式構建支援Jenkins能夠讓多臺計算機一起構建/測試。

5.      檔案識別:Jenkins能夠跟蹤哪次構建生成哪些jar,哪次構建使用哪個版本的jar等。

6.      外掛支援:支援擴充套件外掛,你可以開發適合自己團隊使用的工具。

Jenkins的應用

Jenkins在企業應用中比較廣泛,企業常用CI系統對自己的專案進行構建和測試,來減少開發的時間和精力,而jenkins就是這樣的一個ci系統,用於對自己專案的構建和測試。

1.軟體構建自動化 :配置完成後,CI系統會依照預先制定的時間表,或者針對某一特定事件,對目標軟體進行構建。

2.構建可持續的自動化檢查 :CI系統能持續地獲取新增或修改後簽入的原始碼,也就是說,當軟體開發團隊需要週期性的檢查新增或修改後的程式碼時,CI系統會不斷確認這些新程式碼是否破壞了原有軟體的成功構建。這減少了開發者們在檢查彼此相互依存的程式碼中變化情況需要花費的時間和精力。

3.構建可持續的自動化測試 :構建檢查的擴充套件部分,構建後執行預先制定的一套測試規則,完成後觸發通知(Email,RSS等等)給相關的當事人。

4.生成後後續過程的自動化 :當自動化檢查和測試成功完成,軟體構建的週期中可能也需要一些額外的任務,諸如生成文件、打包軟體、部署構件到一個執行環境或者軟體倉庫。這樣,構件才能更迅速地提供給使用者

使用。

部署一個 CI系統需要的最低要求是,一個可獲取的原始碼的倉庫,一個包含構建指令碼的專案。

CI系統各部分的作用:

1.開發者檢入程式碼到原始碼倉庫。

2.CI 系統會為每一個專案建立了一個單獨的工作區。當預設或請求一次新的構建時,它將把原始碼倉庫的原始碼存放到對應的工作區。

3.CI 系統會在對應的工作區內執行構建過程。

4.(配置如果存在)構建完成後,CI 系統會在一個新的構件中執行定義的一套測試。完成後觸發通知(Email,RSS等等)給相關的當事人。

5.(配置如果存在)如果構建成功,這個構件會被打包並轉移到一個部署目標(如應用

伺服器)或儲存為軟體倉庫中的一個新版本。軟體倉庫可以是 CI 系統的一部分,也

可以是一個外部的倉庫,諸如一個檔案伺服器或者像 Java.net、 SourceForge 之類的

網站。

6.CI 系統通常會根據請求發起相應的操作,諸如即時構建、生成報告,或者檢索一些

構建好的構件。

Jenkins 就是這麼一個 CI 系統。之前叫做 Hudson。

以下是使用 Jenkins 的一些理由:

1.是所有 CI產品中在安裝和配置上最簡單的。

2.基於 Web訪問,使用者介面非常友好、直觀和靈活,在許多情況下,還提供了 AJAX

的即時反饋。

3.Jenkins是基於 Java開發的(如果你是一個 Java開發人員,這是非常有用的),但

它不僅限於構建基於 Java的軟體。

Jenkins擁有大量的外掛。這些外掛極大的擴充套件了 Jenkins的功能;它們都是開源

的,而且它們可以直接通過 web介面來進行安裝與管理。

Jenkins的目標

Jenkins 的主要目標是監控軟體開發流程,快速顯示問題。所以能保證開發人員以及相

關人員省時省力提高開發效率。

CI 系統在整個開發過程中的主要作用是控制:當系統在程式碼儲存庫中探測到修改時,

它將執行構建的任務委託給構建過程本身。如果構建失敗了,那麼 CI 系統將通知相關人員,

然後繼續監視儲存庫。它的角色看起來是被動的;但它確能快速反映問題。

特別是它具有以下優點:

1.Jenkins一切配置都可以在 web介面上完成。有些配置如 MAVEN_HOME和 Email,只需要配置一次,所有的專案就都能用。當然也可以通過修改 XML進行配置。

2.支援 Maven的模組(Module),Jenkins對 Maven做了優化,因此它能自動識別 Module,

每個 Module可以配置成一個 job。相當靈活。

3.測試報告聚合,所有模組的測試報告都被聚合在一起,結果一目瞭然,使用其他 CI,

這幾乎是件不可能完成的任務。

4.構件指紋(artifactfingerprint),每次 build的結果構件都被很好的自動管理,無需

任何配置就可以方便的瀏覽下載。


相關推薦

認識Jenkins瞭解實際工作應用

轉自百度文庫文章,適當修改自:http://wenku.baidu.com/link?url=aexRXQ822IapdnQ2j3zaqfQj611d_XXihumaYx0qCOiEsGUkl0t7p5zrXSHuuQInz4xnSQLGDnaO6R76ADAYmV2rzX

Lambda 在實際工作應用

最近的專案裡要用到上傳Excel,並且上傳的Excel檔案也很大,足足有27Mb,有大概27 w 的資料量,不過解析是放在前端了,雖然這樣使用者也需要比較久的時間用來上傳。但是短時間內,我能夠想到的就是這樣對於資料庫的壓力會比較大,所以我想到的就是對於資料庫的垂直拆分(但是技

速度提高几百倍記一次資料結構在實際工作的運用

這段時間寫了一堆原始碼解析,這篇文章想換換口味,跟大家分享一個我工作中遇到的案例。畢竟作為一個打工人,上班除了摸魚看原始碼外,磚還是要搬的。本文會分享一個使用恰當的資料結構來進行效能優化,從而大幅提高響應速度的故事,提高有幾百倍那麼多。 事情是這樣的,我現在供職一家外企,我們有一個給外國人用的線下賣貨的AP

非常吃驚程序猿在工作的幸福感居然是?????

優雅 痛苦 是我 研究 興趣 正能量 什麽 並且 pos 今天我們程序猿們組織了一場軟技能的討論。討論的主題是軟件project師在工作中的幸福感是什麽?出乎意料的是,有好幾點都不在我的意料之中,並且居然非常多都充滿正能量,更吃驚的是,我們程序猿的幸福感居然這麽的簡單和

tomcat配置虛擬路徑可以解決實際開發測試時前端訪問後臺電腦上的圖片的問題

ram 使用 mage height 顯示 地址 cal 重啟 server 首先電腦上要已經安裝好tomcat,安裝tomcat的教程可以從網上找到很多。這裏就不贅述了。 一般開始做一個web項目後,會涉及到用戶頭像,商品圖片等信息,這些圖片保存在項目中不方便,於是我將選

記 Python 在實際工作的第一次應用

for split 今兒接到一個任務處理上線腳本,在明確了要求之後,尋思再三,為了以後能循環使用,這次得進行腳本化才好,於是就開始了我的拙劣碼風。 畫風其實是這樣的。 有一個文件裏面有些數據,需要遍歷出每行,然後分別取到每一行的第一列的值和第二列的值,然後打印出來,這樣循環不重復才能達到效果,於是我天

python的字符串編碼問題——4.unicode編解碼(以實際工作遇到的韓文編碼為例)

兼容 技術分享 range window下 byte 分享 pos osi eba 韓文unicode編解碼 問題是這樣,工作中遇到有韓文數據出現亂碼,說是unicode碼。 類似這樣: id name 323 52186863 149 6363

用先序法輸入樹的結點輸出的先後三種序列

#include<stdio.h> #include<stdlib.h> typedef struct node {char a; struct node *zuo,*you; }node,*link;//結點 void jianli(link *p) {char

技本功|一道甜品的時間瞭解下新零售的演算法之RFM的介紹和應用

博士學位,先後在美國芝加哥大學、紐約皇后學院任教,回國後擔任袋鼠雲高階演算法專家,負責公司眾多大資料演算法專案的落地實施,如新華書店、輕鬆籌等等,對於資料探勘、機器學習等方面有非常深刻的理解和應用。 什麼是新零售? 簡單的說新零售是線上,線下與物流的打通。 談到新零售,就不得不提

觸發器:實際工作建立指令碼時用到的

現在有這樣的一個需求: 1. 我需要通過指令碼自動建立預約訂單,資料存在表CaseRecord中 2. 訂單號為一個固定格式自增長的:S16000001~S16009999 3. 這個訂單號的後四位是從一個表EntitySer

git在實際工作使用小結

在伺服器搭建git的中央倉庫 中央倉庫要在git初始化命令攜帶引數--bare 中央倉庫應該總是建立成裸倉庫,是屬於一個儲存設施,而不是一個開發環境 ssh [email 

實際工作ORA-01578: ORACLE data block corrupted遇到問題的解決方式

在實際專案生產環境中,外部的不可抗外部環境影響系統的正常執行往往很難控制,這樣我們就需要建立一套合理的解決方案備案庫來解決相應的問題, 今天我們就來說說資料庫檔案損壞的問題 ORA-01578: Oracle data block corrupted (file # 5, block #27059) SEL

論“精通”的定義及實際工作需要的能力

楔子:解決問題的能力:不能解決這個問題、很久才能解決這個問題、可以解決這個問題、快速解決這個問題。解決問題的結果:感覺能行、一般情況下能行、多情況下能行、任何情況下能行。循序漸進來定義聽過:哎,我聽過s

資料時代不具備資料視覺化分析能力你怎麼在工作脫穎而出?

資料視覺化和資訊視覺化都是視覺化的一種方式,資料視覺化將資料庫中每一個數據項作為單個圖元元素表示,大量的資料集構成資料影象,同時將

MySQL常見6個考題在實際工作的運用

題目一 MyISAM和InnoDB的區別,什麼時候選擇MyISAM 參考回答 InnoDB是目前MySQL主流版本(5.6、5.7、8.0)預設的儲存引擎,支援事務、外來鍵、行級鎖,對於併發條件下要求資料的一致性,適用於對資料準確性要求高的場景。 MyISAM只支援表級鎖、資料排列是按照插入順序,沒有做規則排

linq介紹及工作應用兩例——左聯與內聯linq迴圈方法

[toc] #1 linq介紹 ##1.1 linq產生背景 一個應用服務後臺程式,肯定會需要格式各樣的資料檢索跟操作,而這些資料在過去的這些年裡一般都會包含在關係型資料庫或者xml檔案中。 .Net3.5版本發行之前,傳統的資料來源訪問方式就是直接對資料庫或者xml檔案進行檢索操作。在.Net3.5 V

Java 數據類型在實際開發應用二枚舉

項目 arraylist font 編譯器 tid null left join 基本 size   在實際編程中,往往存在著這樣的“數據集”,它們的數值在程序中是穩定的,而且“數據集”中的元素是有限的。在JDK1.5之前,人們用接口來描述這一種數據類型。 1.5以後引入枚

26.如何在實際專案應用ROS導航相關(3)- 多點導航/巡航

前文 18.如何在實際專案中應用ROS導航相關(1)定點導航使用程式啟動一個pibot_simulator,並且完成一個定點導航,本文對其修改完成一個多點導航航的例子 直接貼出程式碼 navigation_multi_demo.launch <launch

實際的開發工作中,對字串的處理是最常見的程式設計任務。本題目即是要求程式對使用者輸入的串進行處理。具體規則如下: (1)把每個單詞的首字母變為大寫。 (2)把數字與字母之間用下劃線字元(_)分開使得更

在實際的開發工作中,對字串的處理是最常見的程式設計任務。本題目即是要求程式對使用者輸入的串進行處理。具體規則如下: (1)把每個單詞的首字母變為大寫。 (2)把數字與字母之間用下劃線字元(_)分開,使得更清晰; (3)把單詞中間有多個空格的調整為1個空格。   &

實際工作場景踩過redis的一個坑:不查詢redis而查詢後端資料庫問題

      今天,在工作中遇到專案在查詢碼錶字典轉換時,不走redis而是查詢後臺資料庫問題。做一個簡單記錄,目的是防止以後出現類似問題,同時該碼錶存在快取中採用的資料型別也是值得我學習的。 一、簡單的背景介紹       該專案以