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

來源:互聯網
上載者:User

標籤:style   blog   http   color   java   os   使用   io   檔案   

文章目錄結構如下:

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提醒功能、多項目構建等。其最大的魅力在於指令碼的編寫,根據不同的指令碼,可以執行的任務要多的多。例如:製作安裝包,最終直接打包成最終的安裝包等,就完全通過指令碼來完成。

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

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.