【大話QT之十七】Jenkins介紹及安裝使用文檔(與Git集成)

文章目錄結構如下:

1> Jenkins與Git相關介紹

2> Jenkins部署安裝

3> Gitblit部署安裝

4> Jenkins與Git集成使用

5> 項目集成開發實例

6> 總結

一、Jenkins與Git相關介紹

Jenkins是現在非常流行的持續集成(Continuous Integration)CI服務器,它的前身是Hudson。Jenkins易於安裝,不需要數據庫的支持,直接通過Web界面進行配置,而且集成了RSS/Email的通知機制,支持分佈式構建,具有豐富的插件,這些都是Jenkins相比其它持續集成服務器的優勢所在。

Git在Wikipedia上的定義是,它是一個免費的、分佈式的版本控制工具,或者是一個強調了速度快的源代碼管理工具。Git最初被Linux Torvalds開發出來用於管理Linux內核的開發。每一個Git的工作目錄都是一個完全獨立的代碼庫,並擁有完整的歷史記錄和版本追蹤能力,不依賴於網絡和中心服務器。Git的出現減輕了許多開發者和開源項目對於管理分支代碼的壓力,由於對分支的良好控制,更鼓勵開發者對自己感興趣的項目作出貢獻。其實許多開源項目包括:Linux kernel,Samba,X.org Server, Ruby on Rails,都已經過渡到使用Git作爲自己的版本控制工具。

Jenkins持續集成的主要流程就是Jenkins會在後臺進行,輪詢版本控制的存儲庫,當發現版本庫出現變更,就會通過預定義的構建腳本進行項目的構建,Jenkins會根據項目需求將構建的任務分配到Slave端。一般的項目構建過程主要分爲自動化編譯和自動化測試兩個階段,這同樣是你腳本發揮作用的階段。

二、Jenkins部署安裝

本文檔Jenkins安裝配置環境:Centos 6.3。Jenkins是一款基於Java開發的開源的、當前最廣泛流行的持續集成工具。豐富的插件可以讓它的使用更加簡單,它幾乎支持所有的版本控制系統。你可以通過各種方式來配置構建過程,例如:在版本控制系統中出發一次提交,通過一個定時的腳本來調度,一個指定的編譯過程完成之後開發構建等等。

1> 安裝Java:yum install java-1.6.0-openjdk;安裝完成後通過java -version來檢查是否安裝成功。

2> 將Jenkins的repo資源庫加入本機。

    

3> 安裝Jenkins

      rm -rf jenkins.repo

      mv jenkins.repo.1 jenkins.repo

      yum intall jenkins

4> 設置Jenkins開機自啓動

      chkconfig jenkins on

5> 啓動Jenkins

      service jenkins start

6> 通過web訪問Jenkins

     默認情況下,Jenkins會在8080端口啓動,可以通過:netstat -anop | grep 8080 來查看,訪問:http://192.168.85.128:8080/訪問, 注意此時要關閉防火牆。

   

7> 配置用戶安全訪問

      現在,我們來配置Jenkins的安全認證。默認情況下Jenkins“允許任何人做任何事情”,這裏我們將採用基於矩陣的安全認證,其實就是權限列表。

     

       

      點擊“Configure Global Security”-> “Jenkins專有用戶數據庫”-> “允許用戶註冊”,點擊保存。保存後,在右上角就出現了註冊的按鈕。

     

     點擊註冊,填寫相應的信息後,點擊保存。

     現在,我們將限制用戶註冊,採用“基於安全矩陣的授權策略”。

     將Jenkins專有用戶數據庫下的“允許用戶註冊”勾掉,在授權策略中選擇“安全矩陣”,在添加用戶/組中,填寫剛纔註冊的賬號,併爲他選擇所有的權限列表。

    

    現在,剛剛添加的houqd2012用戶在登陸後就可以管理Jenkins了。其它,註冊的用戶,可以利用houqd2012在賬號管理中分配不同的權限。

    添加用戶:“系統管理”-> “管理用戶”-> “新建用戶”

    賦予權限:houqd2012管理員賬號登陸,在“Configure Global Security”中分配權限:爲user01分配很小的權限,這樣就可以對賬號,以及各自擁有的權限進行統一的配置了。

     

三、Gitblit安裝部署

        Git是現在很流行的分佈式版本控制工具,github更是人盡皆知。但是,github要求更夠訪問互聯網,我們可以在Github上申請一個免費的賬號,然後將代碼上傳到這上面。但是,這是公共的平臺,其它所有人均可以自由下載代碼,這對於公司內部使用來說,不太安全。還好開源軟件給我們提供了很多選擇,比如:Gitblit、GitStack、Gitolite等。Gitblit是一個純java庫,用來管理、查看和處理Git資料庫,相當於Git的java管理工具。這裏我採用的是Gitblit GO版本,下載地址:http://www.gitblit.com/

1> 安裝java

      yum install java-1.6.0-openjdk

2> 安裝gitblit

      gitblit默認安裝目錄爲/opt/giblit,先創建/opt/giblit目錄

      tar -zxvf gitblit-1.6.0.tar.gz -C /opt/giblit

      gitblit在centos下安裝的實際執行文件爲:service-centos.sh

      安裝腳本install-service-centos.sh的內容爲:

     

      其實,它就是將service-centos.sh拷貝到啓動目錄下,並設爲開機自啓動。

      修改http端口:

     

      執行安裝  ./install-service-centos.sh

3> 啓動gitblit服務

      service gitblit start

     

      從以上錯誤中,應該可以看出是java的版本太低。重新安裝較高版本的java:jdk-7u55-linux-x64.rpm。

      訪問:http://192.168.85.169:8443/

     

      默認賬號和密碼爲:admin/admin

      admin登陸後修改密碼。

      創建用戶,並創建第一個版本庫:

     

     本地創建HelloWorld項目,並將代碼提交到版本庫。

    

    新建一個helloworld.c文件,僅輸出一句HelloWorld,並提交版本庫。

   

    現在在Gitblit的web端即可以看到版本庫的提交記錄。

   

    這裏顯示的時間是8小時前,是因爲我本機的時間與安裝gitblit的服務器的時間不一致。

四、Jenkins與Git集成使用

Jenkins可以基本上可以與任何的版本控制系統繼承,這主要依賴於它豐富多樣的插件,這裏我們利用它與Git版本控制系統集成。

“系統管理”-> “管理插件”-> 在可選插件中選擇一下這三個插件,然後點擊安裝,它同時會將依賴的其它插件包都下載下來,這種方式通常很慢,還可以我們自己將插件包下載下來,放在Jenkins安裝目錄下的plugins目錄下,插件就可以直接安裝了,下載地址 : https://updates.jenkins-ci.org/download/plugins/

需要下載的包有:

上傳到/var/lib/jenkins/plugins目錄,重啓jenkins: service jenkins restart,再次查看已安裝插件中,已經存在上面的那三個插件。

五、項目集成開發實例

最後,我們利用Jenkins來自動構建HelloWorld的項目,主要完成,編譯、打包的過程。

1> 創建構建任務

    

2> 配置項目

     在源碼管理中選擇Git,然後填寫相關信息:

    

    

     這裏在填寫Repository URL的時候,有可能會出現以下的錯誤:

    

     這是因爲Git的版本太低了,默認的Centos6安裝的Git版本是1.7.1,問題解決鏈接:

     http://serverfault.com/questions/589386/unknown-option-git-config-local-reported-by-jenkins

     解決辦法:升級Git版本,解決鏈接:http://itekblog.com/update-git-centos/

    1) 下載rpm包

         wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.e16.rf.x86_64.rpm

    2) 安裝rpm包

        rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt

        rpm -i rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm

    3) 修改repo文件

        yum clean all

        vim /etc/yum.repos.d/rpmforge.repo

        將[rpmforge-extras]中的 enabled = 0 修改爲 enabled = 1

   4) 更新Git

        yum update git

       git --version ===> 當前git版本更新爲:1.7.12.4

3> 保存更改,測試構建

     點擊立即構建:

    

    可以查看構建過程:

   

   在jenkins安裝目錄下的jobs文件夾下存在我們的構建項目HelloWorldBuild,在它下的workspace下即爲版本庫中的代碼:

  

4> 添加腳本,進行自動編譯

    

    再次執行構建,查看控制檯輸出,可以看到我們的腳本在最後被執行:

   

六、總結

       以上介紹了Jenkins的安裝配置,以及它與Git配合應該如何使用,這裏還有很多的一些特定沒有介紹,包括:email提醒功能、多項目構建等。其最大的魅力在於腳本的編寫,根據不同的腳本,可以執行的任務要多的多。例如:製作安裝包,最終直接打包成最終的安裝包等,就完全通過腳本來完成。

       週末一下午的工作,加油!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章