天天看點

docker自動化部署_基于docker+jenkins+github+SonarQube實作自動化部署

技術要求

docker -- 應用容器引擎

jenkins -- 基于Java開發的一種持續內建工具

github/git -- 代碼托管服務平台

SonarQube -- 代碼品質工具

maven -- 項目管理工具

python -- 需要用到腳本

DingTalk -- 釘釘機器人接收消息通知

機器要求

server1 -- jdk安裝、jenkins安裝(需要使用jdk)

server2 -- docker安裝、git安裝(需要從github拉取最新代碼)、maven安裝

server3 -- mysql資料庫安裝(應用資料庫)

server4 -- SonarQube安裝

實際情況:一台Tecent2核4G伺服器安裝部署所有

運作視訊

配置流程

1 安裝dokcer,docker中部署一個應用、一個資料庫

docker自動化部署_基于docker+jenkins+github+SonarQube實作自動化部署

2 jenkins安裝部署,由于機器記憶體限制,jenkins部署到了tomcat

docker自動化部署_基于docker+jenkins+github+SonarQube實作自動化部署

3 linux安裝jdk環境,因為jenkins是java開發的,jenkins連接配接應用伺服器/SonarQube伺服器需要依賴java環境

docker自動化部署_基于docker+jenkins+github+SonarQube實作自動化部署

4 linux安裝git,因為需要使用git指令下載下傳github倉庫代碼

docker自動化部署_基于docker+jenkins+github+SonarQube實作自動化部署

5 linux安裝maven,源碼下載下傳完需要打包代碼

docker自動化部署_基于docker+jenkins+github+SonarQube實作自動化部署

6 制作git秘鑰,秘鑰路徑:/root/.ssh

docker自動化部署_基于docker+jenkins+github+SonarQube實作自動化部署

7 公鑰配置到github上,因為jenkins伺服器需要有權限下載下傳代碼,測試:ssh [email protected]

docker自動化部署_基于docker+jenkins+github+SonarQube實作自動化部署
docker自動化部署_基于docker+jenkins+github+SonarQube實作自動化部署

8 啟動tomcat,通路jenkins

docker自動化部署_基于docker+jenkins+github+SonarQube實作自動化部署

9 jenkins控制台建立節點,每個節點對應一台linux伺服器(jenkins伺服器和應用部署伺服器為一台伺服器,不過不影響)

docker自動化部署_基于docker+jenkins+github+SonarQube實作自動化部署
docker自動化部署_基于docker+jenkins+github+SonarQube實作自動化部署

10 jenkins控制台建立任務

任務指定節點:

docker自動化部署_基于docker+jenkins+github+SonarQube實作自動化部署

綁定git源碼(需要配置ssh私鑰):

docker自動化部署_基于docker+jenkins+github+SonarQube實作自動化部署

github代碼送出觸發任務執行:

docker自動化部署_基于docker+jenkins+github+SonarQube實作自動化部署

執行shell腳本&配置SonarQube代碼掃描:

docker自動化部署_基于docker+jenkins+github+SonarQube實作自動化部署

編寫部署腳本,上述步驟的deploy.sh檔案:

docker自動化部署_基于docker+jenkins+github+SonarQube實作自動化部署

釘釘機器人通知:

docker自動化部署_基于docker+jenkins+github+SonarQube實作自動化部署

python腳本位置:

docker自動化部署_基于docker+jenkins+github+SonarQube實作自動化部署

11 任務執行

docker自動化部署_基于docker+jenkins+github+SonarQube實作自動化部署

12 釘釘機器人配置&通知效果

機器人配置:

docker自動化部署_基于docker+jenkins+github+SonarQube實作自動化部署
docker自動化部署_基于docker+jenkins+github+SonarQube實作自動化部署

通知效果:

docker自動化部署_基于docker+jenkins+github+SonarQube實作自動化部署

13 SonarQube代碼掃描詳情預覽

docker自動化部署_基于docker+jenkins+github+SonarQube實作自動化部署

參考連結

https://www.cnblogs.com/yufeng218/p/8370670.html

https://blog.csdn.net/devops008/article/details/81773736

https://blog.csdn.net/BoomLee/article/details/86676577

繼續閱讀