Jenkins持續集成【簡介】

1.1 目前主流網站部署的流程

   目前主流網站部署方法,經過Hudson/Jenkins工具平臺實現全自動部署+測試,是一個可擴展的持續集成引擎,是一個開源軟件項目,旨在提供一個開放易用的軟件平臺,使軟件的持續集成變成可能。Jenkins很是易於安裝和配置,簡單易用。java

簡單來講方便以下人員:linux

1)開發人員:寫好代碼,不須要本身進行源碼編譯、打包等工做,直接將代碼分支存放在SVNGIT倉庫便可。服務器

2)運維人員:減輕人工干預的錯誤率,同時解放運維人員繁雜的上傳代碼、手動備份、更新。框架

3)測試人員:能夠經過jenkins進行簡單的代碼及網站測試。運維

 

1.2  Jenkins持續集成簡介

   持續集成(Continuous Integration)是一種軟件開發實踐,對於提升軟件開發效率並保障軟件開發質量提供了理論基礎。Jenkins 是一個開源軟件項目,旨在提供一個開放易用的軟件平臺,使持續集成變成可能。本文正是從持續集成的基本概念入手,經過具體實例,介紹瞭如何基於 Jenkins 快速搭建持續集成環境。maven

Jenkins是一個可擴展的持續集成引擎,是一個開源軟件項目,旨在提供一個開放易用的軟件平臺,使軟件的持續集成變成可能。Jenkins很是易於安裝和配置,簡單易用。工具

 

1.2.1 構建代碼名詞解釋

在學習Jenkins以前咱們先來了解幾個經常使用的開發代碼、構建代碼的幾個名詞:MAKEANTMAVENEclipseJenkins學習

1)Make工具開發工具

Linux或者Windows最原始的編譯工具,在linux下編譯程序經常使用makeWindows下對應的工具爲nmake)。它負責組織構建的過程,負責指揮編譯器如何編譯,鏈接器如何鏈接,最後生成一個可用的文件。測試

2)Ant工具

Make編譯一些比較複雜的工具使用起來不靈活,語法很難理解,延伸出ant工具。

3)Maven工具

Maven工具是對ant工具的進一步改進,在make工具中,若是咱們要編譯某些源文件,首先要安裝編譯器等工具。有時候須要不一樣版本的編譯器,在java的編譯器須要不一樣的各類包的支持,若是把每一個包都下載下來,在makefile中進行配置制定,當須要的包很是多時,很難管理。

Mavenmake同樣,是個構建(build)工具,它如何調用各類不一樣的編譯器鏈接器等呢?使用Maven plugin (maven 插件)。

4)Jenkins工具

Maven已經很強大了,那Jenkins是個什麼東西?

其實Maven仍是不夠強大。Maven能夠控制編譯,控制鏈接,能夠生成各類報告,能夠進行代碼測試。

但是如何控制這個流程呢? 編譯仍是先鏈接?先進行代碼測試,仍是先生成報告?可使用腳原本對maven進行控制,實現這些流程的控制。

5)Eclipse工具

Eclipse 是一個開放源代碼的、基於Java的可擴展開發平臺。就其自己而言,它只是一個框架和一組服務,用於經過插件組件構建開發環境。幸運的是,Eclipse 附帶了一個標準的插件集,包括Java開發工具(Java Development KitJDK)。

6)Maven項目對象模型POM (Project Object Model),能夠經過一小段描述信息來管理項目的構建,報告和文檔的軟件項目管理工具。Maven 除了以程序構建能力爲特點以外,還提供高級項目管理工具。

7)POMMaven項目中的文件,使用XML表示,名稱叫作pom.xml。在Maven中,當談到Project的時候,不只僅是一堆包含代碼的文件。一個Project每每包含一個配置文件,包括了與開發者有關的,缺陷跟蹤系統,組織與許可,項目的URL,項目依賴,以及其餘。它包含了全部與這個項目相關的東西。事實上,在Maven世界中,project能夠什麼都沒有,甚至沒有代碼,可是必須包含pom.xml文件。

8)因爲 Maven 的缺省構建規則有較高的可重用性,因此經常用兩三行 Maven 構建腳本就能夠構建簡單的項目。因爲 Maven 的面向項目的方法,許多 Apache Jakarta 項目發文時使用 Maven,並且公司項目採用 Maven 的比例在持續增加。

 

1.2.2 . 持續集成意義

1)持續集成中的任何一個環節都是自動完成的,無需太多的人工干預,有利於減小重複過程以節省時間、費用和工做量;

2)持續集成保障了每一個時間點上團隊成員提交的代碼是能成功集成的。換言之,任什麼時候間點都能第一時間發現軟件的集成問題,使任意時間發佈可部署的軟件成爲了可能;

3)持續集成還能利於軟件自己的發展趨勢,這點在需求不明確或是頻繁性變動的情景中尤爲重要,持續集成的質量能幫助團隊進行有效決策,同時創建團隊對開發產品的信心。

 

1.2.3 . 持續集成組件

1)一個自動構建過程,包括自動編譯、分發、部署和測試;

2)一個代碼存儲庫,即須要版本控制軟件來保障代碼的可維護性,同時做爲構建過程的素材庫,例如SVNGIT代碼庫;

3)一個jenkins持續集成服務器(123.57.11.213服務器就是一個配置簡單和使用方便的持續集成服務器)

相關文章
相關標籤/搜索