在AWS EC2上搭建jenkins並且整合git+maven+docker自動化部署環境(二)

這篇介紹如何在EC2上搭建jenkins構建化工具,安裝工具其實就是跟普通我們用到的linux上安裝方式差不多,這裏我簡單介紹下自動化構建和jenkins的一些概念

CI/CD介紹

CI/CD的全稱爲Continuous  Integration(持續集成)/Continuous Deployment(持續部署),隨着現在互聯網的興起和發展,互聯網軟件的開發和發佈已經形成一套完整的體系,並且定義了一套標準的流程,假如把開發工作流程分爲以下幾個階段:

編碼 → 構建 → 集成 → 測試 → 交付 → 部署

持續集成(CI)

上面整個流程中最重要的組成部分就是持續集成(Continuous integration,簡稱CI)。

持續集成指的是,頻繁地(一天多次)將代碼集成到主幹。將軟件個人研發的部分向軟件整體部分交付,頻繁進行集成以便更快地發現其中的錯誤。

它的好處主要有兩個:

1. 快速發現錯誤。每完成一點更新,就集成到主幹,可以快速發現錯誤,定位錯誤也比較容易;

2. 防止分支大幅偏離主幹。如果不是經常集成,主幹又在不斷更新,會導致以後集成的難度變大,甚至難以集成。

持續集成並不能消除Bug,而是讓它們非常容易發現和改正。持續集成的目的,就是讓產品可以快速迭代,同時還能保持高質量。它的核心措施是,代碼集成到主幹之前,必須通過自動化測試。只要有一個測試用例失敗,就不能集成。

持續交付

持續交付(Continuous delivery)指的是,頻繁地將軟件的新版本,交付給質量團隊或者用戶,以供評審。如果評審通過,代碼就進入生產階段。

持續交付在持續集成的基礎上,將集成後的代碼部署到更貼近真實運行環境的「類生產環境」(production-like environments)中。持續交付優先於整個產品生命週期的軟件部署,建立在高水平自動化持續集成之上。

持續交付可以看作持續集成的下一步。它強調的是,不管怎麼更新,軟件是隨時隨地可以交付的。

持續部署(CD)

持續部署(continuous deployment)是持續交付的下一步,指的是代碼通過評審以後,自動部署到生產環境。

持續部署的目標是,代碼在任何時刻都是可部署的,可以進入生產階段。

持續部署的前提是能自動化完成測試、構建、部署等步驟。

總的來說,持續集成、持續交付、持續部署提供了一個優秀的 DevOps 環境。對於整個開發團隊來說,能很大地提升開發效率,好處與挑戰並行。無論如何,頻繁部署、快速交付以及開發測試流程自動化都將成爲未來軟件工程的重要組成部分。

其大體架構如下,網上隨便找了一個圖,具體讓大家有個印象:

其實持續集成的工具有挺多的,有些用的比較多的工具比如jenkins,ansible,還有些是自己公司內部開發的,這裏重點說下jenkins這個自動化構建的工具。

jenkins介紹

Jenkins是一個開源的、可擴展的持續集成、交付、部署(軟件/代碼的編譯、打包、部署)的基於web界面的平臺。允許持續集成和持續交付項目,無論用的是什麼平臺,可以處理任何類型的構建或持續集成。

jenkins官網:https://jenkins.io/zh/

Jenkins特性:

  1. 開源的java語言開發持續集成工具,支持CI,CD;
  2. 易於安裝部署配置:可通過yum安裝,或下載war包以及通過docker容器等快速實現安裝部署,可方便web界面配置管理;
  3. 消息通知及測試報告:集成RSS/E-mail通過RSS發佈構建結果或當構建完成時通過e-mail通知,生成JUnit/TestNG測試報告;
  4. 分佈式構建:支持Jenkins能夠讓多臺計算機一起構建/測試;
  5. 文件識別:Jenkins能夠跟蹤哪次構建生成哪些jar,哪次構建使用哪個版本的jar等;
  6. 豐富的插件支持:支持擴展插件,你可以開發適合自己團隊使用的工具,如git,svn,maven,docker等。

jenkins在aws ec2上安裝

1、用遠程工具連接到我們的EC2實例上,通過命令sudo -s 切換到root用戶

sudo -s

2、在root用戶下執行 yum update命令,更新一下我們的yum倉庫

yum update

3、獲取jenkins的遠程倉庫包

wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo

4、獲取Jenkins repository key

rpm --import http://pkg.jenkins-ci.org/redhat-stable/jenkins-ci.org.key

5、開始安裝jenkins包

yum install jenkins

6、啓動jenkins服務,並設置爲開機啓動

service jenkins start
chkconfig jenkins on

7、這裏啓動服務的時候會有幾個坑,跟大家說一下,需要改jenkins的兩個配置文件

jenkins運行時需要依賴jdk的,並且要以root用下運行,我們需要修改

/etc/sysconfig/jenkins配置文件,將JENKINS_USER改爲root,這個文件也可以修改jenkins的啓動端口,默認啓動端口是8080:

/etc/rc.d/init.d/jenkins配置文件,添加入你的jdk安裝路徑,後面跟上bin/java,這個文件還可以修改jenkins的日誌文件路徑,一些細節還需要仔細去看下這個腳本文件

上面這些修改之後,我們重啓下jenkins服務,並查看下jenkins的進程是否正常啓動,如果能正常訪問到表示jenkins服務啓動正常:

還有一種方式查看,看看8080端口有沒有被監聽:

以上則說明jenkins已經成功安裝到aws ec2實例上了,是不是挺簡單的。其實安裝jenkins還可以通過的docker的方式,但需要把docker中的jenkins的一些配置文件,工作路徑與你本地映射好,不然會有問題。

接下來就可以打開瀏覽器來訪問我們的jenkins了:

打開瀏覽器,訪問ip:8080進行安裝,ip爲服務器ip

本小節就到這裏,下面一篇重點說下jenkins的訪問路徑配置,以及用戶名密碼權限以及jenkins的一下插件的安裝。

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