文章目錄
Jenkins 簡介
Jenkins is a self-contained, open source automation server which can be used to automate all sorts of tasks such as building, testing, and deploying software. Jenkins can be installed through native system packages, Docker, or even run standalone by any machine with the Java Runtime Environment installed.
Jenkins是一個獨立的開源自動化服務器,可以用來自動化,例如構建、測試和部署軟件等各種任務。Jenkins可以通過本地系統包、Docker安裝,甚至可以在安裝Java運行時環境的機器上獨立運行。
Jenkins is a continuous integration system which is very easy to setup and quickly comes into action. It has a nice dashboard. Jenkins can be downloaded from http://jenkins-ci.org. Jenkins comes with a set of plugins which can be enabled from the Jenkins dashboard itself.
Continuous Integration system are very important for any Software development environment. They are like running health stats of your various projects. Jenkins supports all major Source code Management tools like CVS, Subversion, Git. The builds can be configured and can run based on cron rules. Jenkins can automatically fetch the source code and than fire the builds. It has integrated support to Ant and Maven. With it's plugin based infrastructure it can handle various kinds of build system.
Some of the important tasks a Continuous Integration system (CI System) does:
Check out the source code from given Source Code Control Systems (SCM)
Build the artifacts based on provided build instructions.
Run the test cases to determine the sanity of build.
Archive the artifacts at a configured location.
Deploys the artifacts on servers.
Send status mails to various stakeholders
Maintain the metrics of builds along timeline.
And last but not the least, it will provide you with a sense of quality of software products on continuous basis.
持續集成系統(CI系統)的一些重要任務是:
從給定的源代碼控制系統中查看源代碼(SCM)
根據提供的構建指令構建工件。
運行測試用例來確定構建的完整性。
將工件歸檔到配置的位置。
在服務器上部署工件。
發送狀態郵件到不同的涉眾
在時間軸上維護構建的度量標準。
最后,它將為您提供持續的軟件產品的質量意識。
Jenkins 歷史
Jenkins的前身是Hudson (軟件)項目。Hudson 2004年夏天始創于Sun Microsystems,2005年2月首次發布于java.net。[4]
2007年前后,Hudson被稱為相對CruiseControl和其他開源的構建服務器(Build Server)更好的選擇。[2]
[5]在2010年11月,關于由誰主導來Hudson[7]
,該項目的主要貢獻者和Oracle之間展開談判。盡管在多個方面達成一致,爭議集中在是否把Hudson注冊為商標[8]
,后來Oracle聲明對Hudson的名字擁有權利,并在2010年12月申請將其注冊為商標。[9]
因此,2011年1月11日,社區號召投票將項目名稱從“Hudson”變更為“Jenkins”。[10]2011年2月1日,Oracle表示他們打算繼續Hudson的開發,并認為Jenkins是Hudson的復刻,而非重命名。[13]
Jenkins和Hudson之后繼續作為兩個獨立的項目,均聲稱對方是自己的復刻。截至2013年12月,在GitHub上的Jenkins組織有567項目成員及約1100公共庫(public repository)[14]
,而Hudson組織有32個項目成員和17個公共庫[15]
。在2011年,創建者川口耕介收到了O'Reilly開源獎,獎勵其在Hudson/Jenkins項目上的工作。2014年,川口耕介成為CloudBees的首席技術官。
總結:Jenkins是一個開源項目,提供了一種易于使用的持續集成系統,使開發者從繁雜的集成中解脫出來,專注于更為重要的業務邏輯實現上。同時Jenkins能實現監控集成中存在的錯誤,提供詳細的日志文件和提醒功能,還能用圖表的形式形象地展示項目構建的趨勢和穩定性。Jenkins的前身是Hudson,是一個可擴展的持續集成引擎。