一、前言
1.1 傳統網站部署的流程
傳統的網站部署,大家在運維過程中,網站部署是運維的工作之一,網站部署的流程大致分爲:需求分析—原型設計—開發代碼—提交測試—內網部署—確認上線—備份數據—外網更新-最終測試,如果發現外網部署的代碼有異常,需要及時回滾。(如下圖所示)
1.2 目前主流網站部署的流程
目前主流網站部署方法,通過Jenkins工具平臺實現全自動部署+測試,是一個可擴展的持續集成引擎,是一個開源軟件項目,旨在提供一個開放易用的軟件平臺,使軟件的持續集成變成可能。Jenkins非常易於安裝和配置,簡單易用
簡單來說方便如下人員:
- 開發人員:寫好代碼,不需要自己進行源碼編譯、打包等工作,直接將代碼分支存放在SVN、GIT倉庫即可。
- 運維人員:減輕人工干預的錯誤率,同時解放運維人員繁雜的上傳代碼、手動備份、更新。
- 測試人員:可以通過
jenkins
進行簡單的代碼及網站測試。
1.3 Jenkins持續集成簡介
- 持續集成(Continuous Integration)是一種軟件開發實踐,對於提高軟件開發效率並保障軟件開發質量提供了理論基礎。Jenkins 是一個開源軟件項目,旨在提供一個開放易用的軟件平臺,使持續集成變成可能。本文正是從持續集成的基本概念入手,通過具體實例,介紹瞭如何基於 Jenkins 快速搭建持續集成環境
- Jenkins是一個可擴展的持續集成引擎,是一個開源軟件項目,旨在提供一個開放易用的軟件平臺,使軟件的持續集成變成可能。Jenkins非常易於安裝和配置,簡單易用
1.4 持續集成意義
- 持續集成中的任何一個環節都是自動完成的,無需太多的人工干預,有利於減少重複過程以節省時間、費用和工作量
- 持續集成保障了每個時間點上團隊成員提交的代碼是能成功集成的。換言之,任何時間點都能第一時間發現軟件的集成問題,使任意時間發佈可部署的軟件成爲了可能
- 持續集成還能利於軟件本身的發展趨勢,這點在需求不明確或是頻繁性變更的情景中尤其重要,持續集成的質量能幫助團隊進行有效決策,同時建立團隊對開發產品的信心
1.5 持續集成組件
- 一個自動構建過程,包括自動編譯、分發、部署和測試;
- 一個代碼存儲庫,即需要版本控制軟件來保障代碼的可維護性,同時作爲構建過程的素材庫,例如SVN、GIT代碼庫;
- 一個jenkins持續集成服務器(123.57.11.203服務器就是一個配置簡單和使用方便的持續集成服務器)
二、環境搭建
2.1 Jenkins安裝部署
由於
Jenkins
屬於一個JAVA
代碼,需要java容器才能運行jenkins,所以需要安裝JDK+Tomcat
這裏我們以RPM方式部署jenkins
下載對應的
RPM
包 https://pkg.jenkins.io/redhat-stable/
|
jenkins 常用命令
|
jenkins的目錄結構
|
啓動jenkins
|
修改jenkins端口
|
防火牆開啓8888端口
|
再次啓動jenkins:
|
打開地址 127.0.0.1:8888
出現此提示說明,啓動成功!因爲是第一次安裝,所以得輸入默認密碼,默認密碼在紅框標註的位置。
查看默認密碼將密碼粘貼到文本框中:
|
安裝插件
2.2 基礎環境配置
2.2.1 插件安裝
安裝Publish Over SSH用於執行構建後的操作
安裝nodejs環境
2.2.2 配置信息
配置git命令
whereis git
配置node信息
配置git賬戶及ssh用戶信息
2.3 創建項目
2.4 git提交自動觸發構建
根據下面填寫地址,以
bitbucket git
倉庫配置爲例子
這樣提交git代碼觸發
git hooks
操作去請求http://192.168.1.43:8991/job/test/build?token=cxk
啓動jenkins
任務,以達成自動部署任務