Jenkins
Jenkins是一個開源的持續集成、交付、部署的基於web界面的一個平臺,主要用於持續、自動構建/軟件測試項目,Jenkins是使用java語言編寫的,通常與版本控制工具結合使用,比如:Git,說到持續集成、交付、部署,這些是什麼意思呢?
持續集成(CI): 在一個研發團隊中,對於一個項目,會分爲多個部分交於不同人去完成,持續集成的意思就是,頻繁的將代碼集成到主幹,將個人研發的部分向軟件整體部分交付,頻繁進行即成以便快速發現錯誤。防止分支嚴重偏離主幹,如果不是經常集成,主幹又不斷更新,那麼就會導致後面的集成難度加大,甚至難以集成。他的核心措施是,代碼在集成到主幹之前,必須經過測試,如果又一個測試用例失敗,代碼就不能集成到主幹。
持續交付(CD): 持續交付是持續集成的下一步,到了這一步,對於一個項目,不管你再怎麼更新,他都必須是隨時可以交付的,它指的是頻繁的將軟件的新版本交付給質量團隊或者用戶,以供評審,如果評審通過,軟件就會進入生產階段,這個就跟一個遊戲的測試一樣,通常要經過很多次測試,內測、公測後纔會正式上線。
持續部署(CD): 持續部署是持續交付的下一步,他是指在代碼通過評審後,自動部署到生產環境,持續部署的目標是,代碼在任何時候都是可以部署的,可以進入生產環境,持續部署的前提是能自動化完成測試、構建、部署等階段。
安裝
1、安裝環境
最低配置:不少於256內存,不低於1G磁盤,java環境(安裝JDK,版本>8),要求不是很高
2、安裝jdk與jenkins
yum install jdk-8u121-linux-x64.rpm jenkins-2.182-1.1.noarch.rpm -y
3、啓動jenkins
/etc/init.d/jenkins start
4、使用netstat -antlp查看jenkins啓動的端口,應該是8080,如果你這個端口沒有被佔用的話
5、使用本機ip與8080端口進入jenkins-web界面
可以看到要輸入管理員密碼,上面也給了提示,在本地查看提示的文件內容,得到管理員密碼
使用密碼登錄
難頂,怎麼使這個界面,說是處與離線狀態,我可以連接互聯網啊,不是應該出現安裝插件的界面嗎,百度了一下,原來是在插件管理器中檢測到了更新站點,使用了https,將他改成http就行了,我們先找到更新文件路徑:
find / -name hudson.model.UpdateCenter.xml
然後編輯該文件將https改爲http
重啓一下服務重新進入
nice,進來了,我們選擇左邊的推薦安裝,等待安裝完成
插件安裝完成後會進入創建用戶的界面,我們自己設置一個admin用戶和密碼
點擊繼續後會進入確認界面,沒什麼問題繼續就行
如果點擊登錄後一直是空白頁面,這個是因爲配置權限不對,我們找到config.xml這個文件,進去修改權限:
vim /var/lib/jenkins/config.xml
將<authorizationStrategy class="hudson.security.FullControlOnceLoggedInAuthor izationStrategy">
(登錄用戶可以做任何事)替換爲:<authorizationStrategy class="hudson.security.AuthorizationStrategy$Unsecured"/>
(所有用戶可以做任何事)
進去後,我們建立一個新項目testjob,點擊create new job,選擇自由風格的代碼
點擊ok後再進入的界面選擇第二列菜單源碼管理部分,選擇Git
點擊URL下的Add,選擇jenkins進入
查看SSH私鑰,將內容全部複製到jenkins
將私鑰內容全部複製到jenkins
添加URL,git倉庫的地址
下面我們在本地倉庫中gitdemo中,向遠程倉庫推送信息
在jenkins控制檯可以看到git各種操作的信息