Django + Vue.js實(shí)戰(zhàn)派――Python Web開發(fā)與運(yùn)維pdf .出版社: 電子工業(yè)出版社
鏈接: https://pan.baidu.com/s/1y0CB7SwiQKvBmlh1xpYT9w?pwd=9c9u 提取碼: 9c9u 復(fù)制這段內(nèi)容后打開百度網(wǎng)盤手機(jī)App,操作更方便哦

本書主要介紹了Django編程開發(fā)與運(yùn)維過程中涉及的方法、技巧和實(shí)戰(zhàn)經(jīng)驗(yàn),共分5篇?!暗?篇 基礎(chǔ)”介紹用Django開發(fā)Web應(yīng)用的基礎(chǔ)知識;“第2篇 后臺項(xiàng)目實(shí)戰(zhàn)”通過開發(fā)一個(gè)商城系統(tǒng)的后臺來融合前面章的知識點(diǎn);“第3篇 進(jìn)階”通過Django Rest Framework框架來設(shè)計(jì)和實(shí)現(xiàn)RESTful風(fēng)格的接口,以及分層的自動化測試和基于Redis的緩存技術(shù);“第4篇 前臺項(xiàng)目實(shí)戰(zhàn)”使用前后端分離的方式開發(fā)商城系統(tǒng)前臺,涉及Vue.js、Axios、Vue Router、Vuex、RESTful接口等技術(shù)?!暗?篇 部署運(yùn)維”涉及Django的傳統(tǒng)部署,Django的Docker部署,持續(xù)集成,持續(xù)交付和持續(xù)部署,運(yùn)維監(jiān)控。本書通過完整的商城系統(tǒng)實(shí)例,融合了Django開發(fā)中涉及的知識點(diǎn);通過大量實(shí)例手把手帶領(lǐng)讀者從需求、開發(fā)、集成、代碼安全檢測、測試、部署上線等環(huán)節(jié)踐行“軟件開發(fā)運(yùn)維一體化”的理念。
★★第1篇? 基? ? 礎(chǔ)
★第1章? 走進(jìn)Django? ? /2
●1.1? 了解Django? ? /2
1.1.1? Django發(fā)展歷史和版本? ? /2
1.1.2? MVC和MTV模式? ? /3
●1.2? 安裝Django? ? /5
1.2.1? 安裝Python虛擬環(huán)境? ? /5
1.2.2? 在Windows中安裝Django? ? /7
●1.3? 用VS Code編輯器進(jìn)行Django開發(fā)? ? /8
1.3.1? 設(shè)置中文界面? ? /8
1.3.2? 安裝Python插件? ? /9
1.3.3? 安裝Django插件? ? /9
●1.4? 【實(shí)戰(zhàn)】開發(fā)第1個(gè)Django應(yīng)用? ? /10
1.4.1? 創(chuàng)建項(xiàng)目? ? /10
1.4.2? 創(chuàng)建應(yīng)用? ? /10
1.4.3? 處理控制器? ? /12
1.4.4? 處理模板? ? /12
1.4.5? 運(yùn)行應(yīng)用? ? /13
●1.5? Django項(xiàng)目的運(yùn)行和調(diào)試? ? /13
1.5.1? 設(shè)置運(yùn)行環(huán)境? ? /14
1.5.2? 調(diào)試項(xiàng)目? ? /14
★第2章? 網(wǎng)站的入口——Django的路由和視圖? ? /16
●2.1? 認(rèn)識路由? ? /16
2.1.1? 路由系統(tǒng)的基本配置? ? /16
2.1.2? 【實(shí)戰(zhàn)】用“路由包含”簡化項(xiàng)目的復(fù)雜度? ? /17
2.1.3? 解析路由參數(shù)? ? /18
2.1.4? 【實(shí)戰(zhàn)】用re_path()方法正則匹配復(fù)雜路由? ? /20
2.1.5? 反向解析路由? ? /22
●2.2? 認(rèn)識視圖函數(shù)? ? /23
2.2.1? 什么是視圖函數(shù)? ? /23
2.2.2? 視圖函數(shù)的底層原理? ? /24
2.2.3? 視圖處理函數(shù)的使用? ? /27
●2.3? 認(rèn)識視圖類? ? /30
2.3.1? 什么是視圖類? ? /30
2.3.2? 對比視圖函數(shù)和視圖類? ? /30
2.3.3? 利用視圖類進(jìn)行功能設(shè)計(jì)? ? /31
★第3章? 頁面展現(xiàn)——基于Django模板? ? /36
●3.1? Django模板語言——DTL? ? /36
3.1.1? 模板變量? ? /36
3.1.2? 模板標(biāo)簽? ? /38
3.1.3? 模板過濾器? ? /42
●3.2? 模板的高級用法? ? /43
3.2.1? 模板轉(zhuǎn)義? ? /43
3.2.2? 【實(shí)戰(zhàn)】自定義過濾器? ? /44
3.2.3? 【實(shí)戰(zhàn)】自定義標(biāo)簽? ? /46
●3.3? 模板繼承? ? /49
3.3.1? 設(shè)計(jì)母版頁? ? /49
3.3.2? 設(shè)計(jì)內(nèi)容頁? ? /50
3.3.3? 設(shè)計(jì)組件? ? /51
●3.4? 配置模板文件? ? /52
3.4.1? 理解HTML、CSS和JavaScript? ? /52
3.4.2? 配置靜態(tài)文件? ? /53
★第4章? 使用數(shù)據(jù)庫——基于Django模型? ? /55
●4.1? Django模型? ? /55
4.1.1? 定義模型? ? /55
4.1.2? 了解模型中的關(guān)系? ? /59
4.1.3? 配置項(xiàng)目文件? ? /63
4.1.4? 遷移數(shù)據(jù)? ? /64
●4.2? 用Django中的ORM操作數(shù)據(jù)庫? ? /66
4.2.1? 了解ORM? ? /66
4.2.2? 熟悉QuerySet對象? ? /67
4.2.3? 查詢數(shù)據(jù)? ? /69
4.2.4? 新增數(shù)據(jù)? ? /70
4.2.5? 更新數(shù)據(jù)? ? /71
4.2.6? 刪除數(shù)據(jù)? ? /71
4.2.7? 操作關(guān)聯(lián)表? ? /71
4.2.8? F()函數(shù)和Q()函數(shù)? ? /77
4.2.9? 執(zhí)行原生SQL? ? /78
4.2.10? 事務(wù)處理? ? /81
★第5章? 自動生成界面——基于Django表單? ? /84
●5.1? HTML表單? ? /84
5.1.1? 用令牌CSRF保證表單的安全? ? /85
5.1.2? 【實(shí)戰(zhàn)】用HTML表單上傳文件? ? /86
●5.2? Django的Form表單? ? /87
5.2.1? 認(rèn)識Form表單? ? /87
5.2.2? 表單數(shù)據(jù)的校驗(yàn)? ? /93
5.2.3? 表單數(shù)據(jù)的獲取? ? /97
5.2.4? 【實(shí)戰(zhàn)】用Form表單上傳文件? ? /98
●5.3? Django的模型表單? ? /100
5.3.1? 認(rèn)識模型表單? ? /100
5.3.2? 校驗(yàn)?zāi)P捅韱螖?shù)據(jù)? ? /101
5.3.3? 處理模型表單數(shù)據(jù)? ? /102
●5.4? 使用AJAX提交表單? ? /103
5.4.1? 基于jQuery技術(shù)實(shí)現(xiàn)AJAX? ? /103
5.4.2? 在AJAX請求中設(shè)置令牌csrf_token? ? /104
5.4.3? 【實(shí)戰(zhàn)】使用AJAX實(shí)現(xiàn)用戶登錄? ? /105
★第6章? 用戶認(rèn)證? ? /107
●6.1? 初識用戶認(rèn)證? ? /107
6.1.1? 認(rèn)識Auth模塊? ? /107
6.1.2? 了解用戶權(quán)限數(shù)據(jù)表? ? /109
●6.2? 用戶管理? ? /109
6.2.1? 用戶注冊? ? /110
6.2.2? 用戶登錄? ? /111
6.2.3? 擴(kuò)展用戶模型? ? /113
●6.3? 【實(shí)戰(zhàn)】利用用戶模型實(shí)現(xiàn)用戶身份認(rèn)證及狀態(tài)保持? ? /114
6.3.1? 增加視圖函數(shù)myuser_reg()? ? /114
6.3.2? 增加視圖函數(shù)myuser_login()? ? /115
6.3.3? 用戶退出的設(shè)置? ? /115
6.3.4? 用戶首頁的顯示? ? /115
●6.4? 權(quán)限管理? ? /117
6.4.1? 權(quán)限的設(shè)置? ? /117
6.4.2? 權(quán)限認(rèn)證的相關(guān)方法? ? /117
6.4.3? 自定義用戶權(quán)限? ? /118
6.5? 【實(shí)戰(zhàn)】用裝飾器控制頁面權(quán)限? ? /119
●6.5.1? 增加權(quán)限裝飾器? ? /119
6.5.2? 修改模板文件? ? /120
6.5.3? 設(shè)置項(xiàng)目配置文件? ? /120
6.5.4? 測試權(quán)限? ? /120
●6.6? 中間件技術(shù)? ? /121
6.6.1? 認(rèn)識Django中間件? ? /122
6.6.2? 使用Django中間件? ? /123
6.6.3? 【實(shí)戰(zhàn)】用中間件簡化權(quán)限認(rèn)證? ? /125
?
★★第2篇? 后臺項(xiàng)目實(shí)戰(zhàn)
?
★第7章? 【實(shí)戰(zhàn)】開發(fā)一個(gè)商城系統(tǒng)的后臺? ? /128
●7.1? 商城系統(tǒng)后臺的設(shè)計(jì)分析? ? /128
7.1.1? 需求分析? ? /128
7.1.2? 架構(gòu)設(shè)計(jì)? ? /129
7.1.3? 數(shù)據(jù)庫模型設(shè)計(jì)? ? /130
●7.2? 使用Django自帶的Admin后臺管理系統(tǒng)? ? /131
7.2.1? 創(chuàng)建商城系統(tǒng)后臺項(xiàng)目? ? /131
7.2.2? 登錄Admin后臺管理系統(tǒng)? ? /133
7.2.3? 配置Admin后臺管理系統(tǒng)? ? /133
●7.3? 用Bootstrap框架實(shí)現(xiàn)商城系統(tǒng)后臺? ? /136
7.3.1? 開發(fā)“用戶注冊”模塊? ? /136
7.3.2? 開發(fā)“用戶登錄”模塊? ? /140
7.3.3? 開發(fā)商城系統(tǒng)后臺首頁面? ? /143
7.3.4? 開發(fā)“用戶信息維護(hù)”模塊? ? /146
7.3.5? 開發(fā)“商品分類管理”模塊? ? /156
7.3.6? 開發(fā)“商品信息管理”模塊? ? /159
?
★★第3篇? 進(jìn)? ? 階
?
★第8章? 接口的設(shè)計(jì)與實(shí)現(xiàn)? ? /168
●8.1? 前后端分離? ? /168
8.1.1? 了解前后端分離? ? /168
8.1.2? 為什么要前后端分離? ? /169
8.1.3? 如何實(shí)施前后端分離? ? /171
8.1.4? 前后端分離的技術(shù)棧? ? /171
●8.2? 設(shè)計(jì)符合標(biāo)準(zhǔn)的RESTful接口? ? /172
●8.3? 序列化和反序列化? ? /174
8.3.1? 認(rèn)識序列化和反序列化? ? /174
8.3.2? 用JSON模塊進(jìn)行數(shù)據(jù)交互? ? /174
8.3.3? 用JsonResponse類進(jìn)行數(shù)據(jù)交互? ? /175
●8.4? 接口開發(fā)——基于Django Rest Framework框架? ? /176
8.4.1? 安裝DRF框架? ? /177
8.4.2? 用Serializer類和ModelSerializer類進(jìn)行序列化操作? ? /177
8.4.3? 請求和響應(yīng)? ? /182
8.4.4? 【實(shí)戰(zhàn)】用裝飾器@api-view實(shí)現(xiàn)視圖函數(shù)? ? /183
8.4.5? 【實(shí)戰(zhàn)】用APIView類實(shí)現(xiàn)視圖類? ? /185
8.4.6? 【實(shí)戰(zhàn)】用Mixins類改進(jìn)RESTful接口? ? /187
8.4.7? 【實(shí)戰(zhàn)】用GenericAPIView類實(shí)現(xiàn)視圖類? ? /190
8.4.8? 用視圖集ViewSets改進(jìn)RESTful接口? ? /192
8.4.9? 分頁? ? /197
8.4.10? 過濾、搜索和排序? ? /198
8.4.11? 自定義消息格式? ? /202
8.4.12? 自定義異常格式? ? /207
●8.5? 接口安全機(jī)制? ? /209
8.5.1? 基于DRF框架實(shí)現(xiàn)Token認(rèn)證? ? /209
8.5.2? 基于DRF框架實(shí)現(xiàn)JWT認(rèn)證? ? /212
8.5.3? 基于后端技術(shù)的跨域解決方案? ? /218
●8.6? 【實(shí)戰(zhàn)】實(shí)現(xiàn)商城系統(tǒng)的接口? ? /220
8.6.1? 用戶相關(guān)接口? ? /220
8.6.2? 商品相關(guān)接口? ? /226
8.6.3? 訂單相關(guān)接口? ? /233
8.6.4? 基礎(chǔ)接口——“地址信息”接口? ? /241
●8.7? 【實(shí)戰(zhàn)】利用DRF生成接口文檔? ? /243
8.7.1? 安裝依賴? ? /243
8.7.2? 配置文件? ? /243
8.7.3? 測試? ? /243
●8.8? 【實(shí)戰(zhàn)】利用Swagger服務(wù)讓接口文檔更專業(yè)? ? /244
8.8.1? 安裝配置django-rest-swagger? ? /244
8.8.2? 配置視圖類? ? /244
8.8.3? 配置路由? ? /245
8.8.4? 運(yùn)行效果? ? /245
★第9章? 分層的自動化測試? ? /246
●9.1? 分層的自動化測試? ? /246
9.1.1? 單元自動化測試? ? /247
9.1.2? 接口自動化測試? ? /247
9.1.3? 用戶界面自動化測試? ? /248
●9.2? 單元自動化測試? ? /248
9.2.1? ?認(rèn)識單元測試框架unittest? ? /248
9.2.2? 【實(shí)戰(zhàn)】用unittest進(jìn)行單元測試? ? /249
9.2.3? 【實(shí)戰(zhàn)】用HTMLTestRunner生成HTML報(bào)告? ? /251
9.2.4? 【實(shí)戰(zhàn)】用Pytest進(jìn)行單元測試? ? /252
9.2.5? 【實(shí)戰(zhàn)】在Django中編寫和運(yùn)行測試用例? ? /255
●9.3? 接口自動化測試? ? /256
9.3.1? 【實(shí)戰(zhàn)】進(jìn)行Postman測試? ? /257
9.3.2? 【實(shí)戰(zhàn)】用“Requests + Pytest”實(shí)現(xiàn)接口自動化測試? ? /258
●9.4? 用戶界面自動化測試? ? /260
9.4.1? 認(rèn)識自動化測試Selenium庫? ? /260
9.4.2? 安裝Selenium庫? ? /260
9.4.3? 基本使用? ? /261
9.4.4? 頁面元素定位的方法? ? /262
9.4.5? ?Selenium庫的高級用法? ? /263
9.4.6? 【實(shí)戰(zhàn)】自動化測試商城后臺管理系統(tǒng)的登錄頁面? ? /268
★第10章? 基于Redis的緩存技術(shù)? ? /270
●10.1? 為什么需要緩存? ? /270
●10.2? 用Django內(nèi)置模塊實(shí)現(xiàn)緩存? ? /270
10.2.1? 基于數(shù)據(jù)庫方式實(shí)現(xiàn)緩存? ? /271
10.2.1? 緩存視圖函數(shù)和視圖類? ? /271
●10.3? 用DRF框架實(shí)現(xiàn)緩存? ? /273
10.3.1? 用裝飾器完成緩存? ? /273
10.3.2? 用CacheResponseMixin類完成緩存? ? /274
●10.4? 用Redis實(shí)現(xiàn)緩存? ? /275
10.4.1? 搭建Redis環(huán)境? ? /275
10.4.2? 用Django操作Redis? ? /276
10.4.3? 【實(shí)戰(zhàn)】用Redis存儲session信息? ? /278
?
★★第4篇? 前臺項(xiàng)目實(shí)戰(zhàn)
?
★第11章? 開發(fā)商城系統(tǒng)的前臺(接第7章實(shí)戰(zhàn))? ? /282
●11.1? 商城系統(tǒng)前臺的設(shè)計(jì)分析? ? /282
11.1.1? 需求分析? ? /282
11.1.2? 架構(gòu)設(shè)計(jì)? ? /283
●11.2? 前端開發(fā)利器——Vue.js框架? ? /284
11.2.1? 認(rèn)識Vue.js? ? /284
11.2.2? 用Vue-CLI腳手架快速搭建項(xiàng)目骨架? ? /284
11.2.3? 用NPM進(jìn)行包管理和分發(fā)? ? /286
11.2.4? 用npm run build命令打包項(xiàng)目? ? /287
11.2.5? 用Visual Stdio Code編輯器進(jìn)行代碼開發(fā)? ? /287
●11.3? Vue.js的基本操作? ? /287
11.3.1? 用插值實(shí)現(xiàn)數(shù)據(jù)綁定? ? /288
11.3.2? 用computed屬性實(shí)現(xiàn)變量監(jiān)聽? ? /289
11.3.3? 用class和style設(shè)置樣式? ? /290
11.3.4? 用v-if實(shí)現(xiàn)條件渲染? ? /291
11.3.5? 用v-for實(shí)現(xiàn)列表渲染? ? /292
11.3.6? 用“v-on:”或“@”實(shí)現(xiàn)事件綁定? ? /293
11.3.7? 用v-model實(shí)現(xiàn)雙向數(shù)據(jù)綁定? ? /294
●11.4? 用Vue Router庫實(shí)現(xiàn)路由管理? ? /295
11.4.1? 了解Vue Router庫? ? /295
11.4.2? 基本用法? ? /296
●11.5? 用Axios庫實(shí)現(xiàn)數(shù)據(jù)交互? ? /297
11.5.1? 了解Axios庫? ? /297
11.5.2? 基本用法? ? /297
●11.6? 用Vuex實(shí)現(xiàn)狀態(tài)管理? ? /299
11.6.1? 基本用法? ? /299
11.6.2? 用mutations和actions操作變量? ? /301
11.6.3? 用getters獲取變量? ? /303
11.6.4? 用擴(kuò)展運(yùn)算符簡化編寫? ? /304
●11.7? 【實(shí)戰(zhàn)】用Vue.js開發(fā)商城系統(tǒng)的前臺? ? /304
11.7.1? 核心技術(shù)點(diǎn)介紹? ? /305
11.7.2? 公共頁面開發(fā)? ? /307
11.7.3? “商品首頁”模塊開發(fā)? ? /313
11.7.4? “商品列表”模塊開發(fā)? ? /321
11.7.5? “商品詳情”模塊開發(fā)? ? /328
11.7.6? “用戶注冊”模塊開發(fā)? ? /332
11.7.7? “用戶登錄”模塊開發(fā)? ? /335
11.7.8? “購物車管理”模塊開發(fā)? ? /339
11.7.9? “訂單管理”模塊開發(fā)? ? /344
11.7.10? “個(gè)人中心”模塊開發(fā)? ? /348
?
★★第5篇? 部 署 運(yùn) 維
?
★第12章? Django的傳統(tǒng)部署? ? /358
●12.1? 部署前的準(zhǔn)備工作? ? /358
12.1.1? 準(zhǔn)備虛擬機(jī)? ? /358
12.1.2? 安裝Python 3.8.2? ? /359
12.1.3? 安裝虛擬環(huán)境和Django? ? /359
●12.2? 使用MySQL數(shù)據(jù)庫? ? /361
12.2.1? 安裝MySQL數(shù)據(jù)庫? ? /361
12.2.2? 配置MySQL數(shù)據(jù)庫? ? /362
12.2.3? 客戶端連接MySQL數(shù)據(jù)庫? ? /363
12.2.4? 【實(shí)戰(zhàn)】生成商城系統(tǒng)的數(shù)據(jù)庫和表? ? /365
●12.3? 用uWSGI進(jìn)行部署? ? /365
12.3.1? WSGI、uwsgi和uWSGI的關(guān)系? ? /365
12.3.2? 安裝uwsgi軟件? ? /366
12.3.3? 啟動并測試uwsgi? ? /367
12.3.4? 詳解配置文件? ? /367
12.3.5? 常用命令? ? /368
12.3.6? 【實(shí)戰(zhàn)】部署商城系統(tǒng)后臺? ? /368
●12.4? 用Gunicorn進(jìn)行部署? ? /370
12.4.1? 安裝Gunicorn? ? /370
12.4.2? 啟動服務(wù)并測試? ? /371
12.4.3? 編寫配置文件? ? /371
12.4.4? 【實(shí)戰(zhàn)】部署商城系統(tǒng)接口? ? /372
●12.5? 用Supervisor管理進(jìn)程? ? /373
12.5.1? 安裝和配置? ? /373
12.5.2? 了解配置文件? ? /374
12.5.3? 常用命令? ? /374
12.5.4? Web監(jiān)控界面? ? /375
12.5.5? 【實(shí)戰(zhàn)】用Supervisor管理進(jìn)程? ? /376
●12.6? 用Nginx進(jìn)行代理? ? /377
12.6.1? 正向代理和反向代理? ? /377
12.6.2? 為什么用了uWSGI還需要用Nginx? ? /378
12.6.3? 安裝Nginx? ? /378
12.6.4? 了解配置文件? ? /379
12.6.5? 【實(shí)戰(zhàn)】部署商城系統(tǒng)后臺? ? /381
12.6.6? 【實(shí)戰(zhàn)】部署商城系統(tǒng)接口? ? /382
12.6.7? 【實(shí)戰(zhàn)】部署商城系統(tǒng)前臺? ? /383
12.6.8? 【實(shí)戰(zhàn)】利用Nginx負(fù)載均衡部署商城系統(tǒng)接口? ? /384
★第13章? Django的Docker部署? ? /388
●13.1? 介紹Docker? ? /388
13.1.1? 為什么要使用Docker? ? /388
13.1.2? 虛擬機(jī)和容器的區(qū)別? ? /390
13.1.3? 了解Docker的鏡像、容器和倉庫? ? /390
●13.2? 安裝并啟動Docker? ? /392
13.2.1? 安裝Docker? ? /392
13.2.2? 啟動Docker? ? /393
●13.3? 操作Docker鏡像? ? /394
13.3.1? 搜索鏡像? ? /394
13.3.2? 獲取鏡像? ? /394
13.3.3? 查看鏡像? ? /395
13.3.4? 導(dǎo)入/導(dǎo)出鏡像? ? /396
13.3.5? 配置國內(nèi)鏡像倉庫? ? /396
●13.4? 操作Docker容器? ? /397
13.4.1? 啟動容器? ? /397
13.4.2? 進(jìn)入容器? ? /399
13.4.3? 停止容器? ? /400
13.4.4? 刪除容器? ? /400
13.4.5? 復(fù)制容器中的文件? ? /401
13.4.6? 查看容器中的日志? ? /401
●13.5? 【實(shí)戰(zhàn)】用Docker部署MySQL? ? /401
13.5.1? 拉取鏡像? ? /401
13.5.2? 創(chuàng)建容器? ? /402
13.5.3? 進(jìn)入MySQL容器? ? /402
●13.6? 【實(shí)戰(zhàn)】用Docker方式部署Redis? ? /403
13.6.1? 拉取Redis? ? /403
13.6.2? 創(chuàng)建并啟動Redis容器? ? /404
●13.7? 制作自己的鏡像——編寫Dockerfile文件? ? /404
13.7.1? 語法規(guī)則? ? /404
13.7.2? 構(gòu)建Nginx鏡像? ? /405
●13.8? 將鏡像推送到私有倉庫Harbor中? ? /407
13.8.1? 搭建Harbor私有倉庫? ? /407
13.8.2? 安裝Docker-Compose? ? /407
13.8.3? 安裝Harbor? ? /407
13.8.4? 登錄Harbor? ? /409
13.8.5? 配置、使用Harbor? ? /409
●13.9? 【實(shí)戰(zhàn)】用Docker部署商城系統(tǒng)的接口? ? /411
13.9.1? 拉取并啟動MySQL容器? ? /411
13.9.2? 創(chuàng)建接口鏡像并啟動容器? ? /411
13.9.3? 拉取并啟動Nginx容器? ? /413
●13.10? 【實(shí)戰(zhàn)】用Docker Compose部署多容器? ? /416
13.10.1? 編排容器文件? ? /416
13.10.2? 構(gòu)建和啟動? ? /417
★第14章? 持續(xù)集成、持續(xù)交付與持續(xù)部署? ? /419
●14.1? 了解持續(xù)集成? ? /419
●14.2? 了解持續(xù)交付? ? /419
●14.3? 了解持續(xù)部署? ? /420
●14.4? 代碼版本管理——基于碼云? ? /420
14.4.1? Git中的4個(gè)概念——工作區(qū)、暫存區(qū)、本地倉庫、遠(yuǎn)程倉庫? ? /420
14.4.2? 克隆遠(yuǎn)程庫到本地庫? ? /421
●14.5? 進(jìn)行持續(xù)集成——基于Jenkins? ? /422
14.5.1? 安裝Jenkins? ? /422
14.5.2? 【實(shí)戰(zhàn)】商城系統(tǒng)接口的持續(xù)構(gòu)建? ? /424
●14.6? 進(jìn)行代碼質(zhì)量掃描——基于SonarQube? ? /429
14.6.1? 安裝SonarQube? ? /430
14.6.2? 【實(shí)戰(zhàn)】自動化代碼質(zhì)量掃描? ? /431
●14.7? 用Jenkins進(jìn)行持續(xù)部署——基于SSH? ? /436
14.7.1? 安裝插件? ? /436
14.7.2? 配置Publish over SSH項(xiàng)? ? /436
14.7.3? 配置SSH免密登錄? ? /437
14.7.4? 配置SSH Server? ? /438
14.7.5? 配置“構(gòu)建”? ? /438
14.7.6? 立即構(gòu)建? ? /440
●14.8? 進(jìn)行自動化測試——基于“Jenkins + Allure + Pytest”? ? /440
14.8.1? 安裝? ? /440
14.8.2? 配置“構(gòu)建”? ? /442
14.8.3? 配置“構(gòu)建后操作”? ? /443
14.8.4? 立即構(gòu)建? ? /444
14.8.5? 常見問題的處理? ? /445
●14.9? 【實(shí)戰(zhàn)】用Jenkins流水線部署商城系統(tǒng)接口? ? /446
14.9.1? 流水線操作的語法? ? /446
14.9.2? 部署商城系統(tǒng)接口? ? /447
★第15章? 運(yùn)維監(jiān)控——基于Prometheus + Grafana? ? /454
●15.1? 認(rèn)識Prometheus? ? /454
15.1.1? Prometheus的核心組件? ? /455
15.1.2? 安裝并啟動? ? /455
15.1.3? 查看監(jiān)控指標(biāo)數(shù)據(jù)和圖表? ? /456
15.1.4? 了解Prometheus的主配置文件? ? /456
●15.2? 認(rèn)識Grafana? ? /457
15.2.1? 安裝? ? /458
15.2.2? 配置數(shù)據(jù)源? ? /458
15.2.3? 導(dǎo)入模板? ? /459
●15.3? 監(jiān)控主機(jī)和服務(wù)——基于Prometheus的組件Exporter? ? /460
15.3.1? 監(jiān)控主機(jī)? ? /460
15.3.2? 監(jiān)控MySQL數(shù)據(jù)庫? ? /462
15.3.3? 監(jiān)控Redis? ? /464
●15.4? 實(shí)現(xiàn)郵件報(bào)警——基于Prometheus的組件Altermanager? ? /465
15.4.1? 安裝配置Alertmanager? ? /465
15.4.2? 了解配置文件? ? /466
15.4.3? 設(shè)置報(bào)警規(guī)則? ? /467
●15.5? 容器監(jiān)控報(bào)警——基于Prometheus的組件cAdvisor? ? /468
15.5.1? 安裝cAdvisor? ? /469
15.5.2? 啟動容器? ? /469
15.5.3? 導(dǎo)入模板? ? /469
●15.6? 對Django應(yīng)用進(jìn)行監(jiān)控? ? /469
15.6.1? 安裝django_prometheus包? ? /470
15.6.2? 配置settings.py文件? ? /470
15.6.3? 配置路由并訪問? ? /470
15.6.4? 配置Prometheus? ? /471
15.6.5? 添加模板? ? /471 作者:彌敦道扛把子 https://www.bilibili.com/read/cv23304610 出處:bilibili