Python 3自動化軟體發布系統 -Django 2實戰
陳剛,王洪軍 著
- 出版社:北京航空航天大學出版社
- ISBN:9787512430570
- 版次:1
- 商品編碼:12772706
- 品牌:北京航空航天大學出版社
- 包裝:平裝
- 開本:16開
- 出版時間:2020-01-01
- 用紙:膠版紙
內容簡介
本書以新的Python 3.6以上版本為程式語言,以Django 2.1以上版本為Web框架,通過一步一步詳細講解,實現一個自動化軟體部署系統,並將所有代碼開源託管在Github網站上。
書中不但講解了Python的基礎知識、Django的模型、視圖、模板之間的關係,而且還通過實戰項目,介紹了Django Rest Framework(DRF)的開發步驟、Django Channels實現Websocket的編程技巧,以及Django TestCase、Mock等測試用例的編寫。
除此之外,對於IT公司在DevOps轉型過程中涉及的GitLab、Jenkins、SaltStack等CI/CD工具的安裝配置,以及自動化軟體部署系統與之進行互動的API,都有較深入的講解。
本書適合運維研發領域的人員,或是有一定Python基礎但又想深入學習Python Web開發的廣大IT人員閱讀參考。
目錄
第1章Python基礎1
1.1Python基本數據類型的常用操作5
1.1.1數字(Number)——人生不能只會做減法6
1.1.2字元串(String)——一入編碼深似海8
1.1.3列表(List)——古龍之七種武器10
1.1.4元組(Tuple)——一顆不變心14
1.1.5字典(Dictionary)——鍵值CP15
1.1.6集合(Set)——我們的集合無悖論16
1.2順序、分支及循環語句17
1.2.1順序編程——知所先後,則近道矣18
1.2.2分支語句——《交叉小徑的花園》19
1.2.3循環——《恐怖遊輪》21
1.3函式和類22
1.3.1函式——好萊塢原則22
1.3.2類——有沒有對象,都累25
1.4並發編程28
1.4.1進程池示例——《低俗小說》28
1.4.2執行緒池示例30
1.5模組化31
1.6測試34
1.7小結39
第2章Django基礎42
2.1Web及HTTP42
2.1.1Web簡介42
2.1.2HTTP協定43
2.1.3HTTP協定方法44
2.2HTML、CSS、JavaScript45
2.2.1HTML45
2.2.2CSS45
2.2.3JS(JavaScript)46
2.2.4Python、Django是怎么和Web搭上關係的46
2.3Django簡介及Web實現48
2.3.1Django簡介48
2.3.2Python的Web伺服器49
2.3.3Django模組實現Web伺服器49
2.4Django新建項目套用及運行機制50
2.4.1新建Django項目套用50
2.4.2Django目錄及檔案分析51
2.4.3Django框架的工作機制53
2.5Django視圖55
2.5.1基於函式的視圖55
2.5.2Django的HttpRequest對象58
2.5.3Django HttpRequest對象中的QueryDict對象59
2.5.4Django的HttpResponse對象59
2.6.1UrlConf簡介61
2.6.2UrlConf的Urlpatterns62
2.6.3UrlConf的路由分發63
2.6.4UrlConf的反向解析64
2.6.5UrlConf的命名空間65
2.7Django模板Template66
2.7.1Django Template Language簡介67
2.7.2Django Template載入配置及基本使用69
2.7.3Django Template的Render快捷使用71
2.8Django模型Model72
2.8.1Model ORM73
2.8.2Model示例73
2.8.3ORM常用Field及屬性77
2.8.4Django Shell操作ORM79
2.8.5函式視圖操作ORM(顯示board列表)81
2.8.6函式視圖操作ORM(顯示指定board的topic列表)83
2.8.7函式視圖操作ORM(新增topic)85
2.8.8函式視圖操作ORM(指定board的topic內容)88
2.8.9類視圖操作ORM(顯示board列表)90
2.8.10Model的底層資料庫連線配置92
2.9Django表單Form93
2.10Django後台管理Admin95
2.10.1Admin界面登錄95
2.10.2套用Model的註冊96
2.10.3Model Admin自定義管理界面98
2.11Django測試99
2.12小結100
第3章自動化軟體發布工作流101
3.1示例項目102
3.1.1編寫示例代碼102
3.1.2編譯項目105
3.1.3手工運行106
3.1.4其他示例代碼107
3.2使用GitLab保存原始碼109
3.2.1建立用戶和項目組109
3.2.2建立項目113
3.2.3將本地代碼推送到GitLab中115
3.3使用Jenkins編譯項目120
3.4使用Nginx作為軟體倉庫125
3.4.1Jenkins和Nginx伺服器之間免密碼登錄126
3.4.2安裝並配置Nginx伺服器128
3.4.3安裝Jenkins外掛程式128
3.4.4配置Jenkins Pipeline129
3.4.5驗證130
3.5使用SaltStack推送服務端腳本132
3.5.1Salt Master及Salt Minion的安裝132
3.5.2通過Salt Master遠程執行腳本命令134
3.5.3SaltAPI配置137
3.5.4實現遠程拉取軟體、啟停服務的腳本範例146
3.5.5測試151
3.6Jenkins REST API使用講解153
3.6.1Jenkins原生API的獲取154
3.6.2PythonJenkins庫的安裝159
3.6.3PythonJenkins的常用方式160
3.6.4封裝一個Python腳本,實現自動化編譯軟體163
3.7GitLab REST API使用講解167
3.7.1PythonGitLab的安裝、配置167
3.7.2PythonGitLab常用功能使用169
3.7.3使用PythonGitLab獲取ZepBackendJava檔案列表174
3.8小結175
第4章自動化發布的資料庫模型176
4.1功能展示176
4.1.1用戶管理176
4.1.2套用App的管理176
4.1.3伺服器的管理178
4.1.4套用許可權的管理178
4.1.5發布單的新建及軟體包編譯179
4.1.6環境流轉179
4.1.7軟體發布180
4.1.8軟體流轉及發布歷史181
4.2新建項目及App181
4.2.1新建目錄,通過Pip安裝相關模組181
4.2.2新建項目及相關App181
4.2.3生成數據及管理員密碼182
4.2.4啟動Django服務並驗證184
4.2.5與PyCharm集成185
4.3調整檔案內容186
4.3.1中文及時區186
4.3.2App註冊187
4.3.3URL路由調整189
4.4Django Models的抽象基類190
4.5套用數據表192
4.5.1models.py檔案內容192
4.5.2將套用數據表遷移進資料庫196
4.5.3生成模擬數據198
4.6環境數據表204
4.6.1models.py檔案內容204
4.6.2將環境數據表遷移進資料庫204
4.6.3生成模擬數據206
4.7伺服器數據表207
4.7.1models.py檔案內容207
4.7.2將伺服器數據表遷移進資料庫209
4.7.3生成模擬數據211
4.8發布單狀態數據表212
4.8.1models.py檔案內容213
4.8.2將發布狀態數據表遷移進資料庫213
4.8.3生成模擬數據215
4.9發布單數據表216