# 文檔編寫中 。。。。
目錄
[TOC]
## Jenkins是啥
目前最流行的一款持續集成及自動化部署工具。更夠持續部署、持續集成CI、持續交付
*****
## Jenkins自我介紹
**構建偉大,無所不能**
Jenkins是開源CI&CD軟件領導者, 提供超過1000個插件來支持構建、部署、自動化, 滿足任何項目的需要。
官方文檔 [https://jenkins.io/zh/doc/pipeline/tour/getting-started/](https://jenkins.io/zh/doc/pipeline/tour/getting-started/)
*****
### 帶來的好處
1. 降低風險
2. 減少重復過程
3. 任何時間、任何地點生成可部署的軟件
4. 增強項目的可見性
5. 建立團隊對開發產品的信心
6. 一個人一次配置好,所有人都不需要配置該項目和pom,只需要提交代碼即可自動部署
*****
### 自動化部署與原先手動部署對比
“自動化”的主要體現在向git提交新的代碼后,應用服務器自動部署,用戶或測試人員使用的馬上就是最新的應用程序
#### 手動部署
1. **開發人員**推代碼到GitHub
3. **開發人員**手動檢出項目源碼
4. **開發人員**手動打包
5. **開發人員**登錄服務器
6. **開發人員**關閉運行項目所在tomcat
8. **開發人員**清空tomcat工作空間文件
9. **開發人員**上傳war包到tomcat工作空間文件
10. **開發人員**開啟項目所在tomcat
11. 部署完成
#### 自動部署
ps:Jenkins服務部署在項目所在服務器上
1. **開發人員**推代碼到GitHub
2. 推代碼動作自動觸發github鉤子程序
3. 鉤子程序通過Jenkins服務提供的URL通知Jenkins開始自動構建
4. Jenkins調用Git插件
1. 檢出項目源碼
5. Jenkins調用Maven插件
1. 打war包
6. Jenkins調用Deploy to container (部署到容器)插件
1. 關閉運行項目所在tomcat
2. 清空tomcat工作空間文件
3. 上傳war包到tomcat工作空間文件
4. 開啟項目所在tomcat
7. 部署完成