当前位置:   article > 正文

python3自动化软件发布系统pdf_Python 3自动化软件发布系统 -Django 2实战

自动化软件发布系统 pdf下载

第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.3SaltAPI配置137

3.5.4实现远程拉取软件、启停服务的脚本范例146

3.5.5测试151

3.6Jenkins REST API使用讲解153

3.6.1Jenkins原生API的获取154

3.6.2PythonJenkins库的安装159

3.6.3PythonJenkins的常用方式160

3.6.4封装一个Python脚本,实现自动化编译软件163

3.7GitLab REST API使用讲解167

3.7.1PythonGitLab的安装、配置167

3.7.2PythonGitLab常用功能使用169

3.7.3使用PythonGitLab获取ZepBackendJava文件列表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

4.9.1models.py文件内容216

4.9.2将发布单数据表迁移进数据库220

4.9.3生成模拟数据221

4.10权限管理数据表224

4.10.1models.py文件内容225

4.10.2将权限数据表迁移进数据库226

4.10.3生成模拟数据228

4.11历史记录数据表231

4.11.1models.py文件内容231

4.11.2将历史数据表迁移进数据库232

4.12理解Django Migrate(数据迁移)233

4.12.1Migrate原理234

4.12.2理解更新models.py文件的原理236

4.12.3重置migration238

4.13小结239

第5章用户注册登录及密码管理241

5.1用户管理简介241

5.2Web开发中的Cookie及Session242

5.2.1Cookie242

5.2.2Session243

5.3中间件(Middleware)及预安装(INSTALLED_APPS)245

5.3.1Django框架中的Middleware245

5.3.2Django框架中的INSTALLED_APPS248

5.4用户管理249

5.4.1用户注册250

5.4.2用户认证250

5.4.3用户登录250

5.4.4用户退出251

5.4.5修改密码251

5.5用户组管理252

5.6Django权限功能253

5.6.1权限管理简介253

5.6.2用户权限254

5.6.3用户组权限256

5.7Manabe用户注册256

5.7.1用户注册表单257

5.7.2用户注册视图260

5.7.3用户注册模板262

5.7.4用户注册路由267

5.8Manabe用户登录及退出268

5.8.1用户登录表单268

5.8.2用户登录视图269

5.8.3用户登录模板270

5.8.4用户登录路由272

5.9Manabe邮箱更改272

5.9.1邮箱更改表单273

5.9.2邮箱更改视图274

5.9.3邮箱更改模板275

5.9.4邮箱更改路由276

5.10Manabe密码更改277

5.10.1密码更改表单277

5.10.2密码更改视图279

5.10.3密码更改模板280

5.10.4密码更改路由281

5.11Manabe通过邮箱重置密码281

5.11.1Django邮件发送功能启用282

5.11.2密码重置路由注册283

5.11.3密码重置模板284

5.11.4Django内置视图总结291

5.12Manabe登录验证码294

5.13Manabe首页297

5.13.1网站首页视图298

5.13.2网站模板298

5.13.3Django内置视图总结301

5.14小结302

第6章应用录入和服务器录入303

6.1App服务录入页面303

6.1.1App服务网页功能展示303

6.1.2录入、编辑、展示的URL设置306

6.1.3App录入的视图308

6.1.4App录入的表单312

6.1.5App录入的模板318

6.1.6App录入的浏览器验证323

6.2App服务编辑页面323

6.2.1App编辑视图323

6.2.2App编辑模板文件325

6.3App服务列表展示328

6.3.1App服务列表视图328

6.3.2App服务列表模板文件330

6.4App服务详情页面336

6.4.1App服务详情视图336

6.4.2App服务详情模板337

6.5App服务权限设计339

6.5.1Rightadmin权限模块的路由340

6.5.2Rightadmin权限显示342

6.5.3Rightadmin权限显示后端的实现345

6.5.4Rightadmin权限编辑功能模板346

6.5.5Rightadmin权限编辑后端的实现349

6.5.6Rightadmin权限调用的实现351

6.6服务器的录入、编辑、展示354

6.6.1服务器模块的URL路由设置355

6.6.2服务器的录入视图类、Form表单文件及模板356

6.6.3服务器的编辑视图类及模板364

6.6.4服务器的展示视图类及模板368

6.6.5服务器的详情视图类及模板373

6.7Django Model测试375

6.8Django View测试377

6.9Django Form测试378

6.10小结381

第7章生成发布单382

7.1发布单介绍383

7.2新建发布单384

7.2.1新建发布单表单384

7.2.2新建发布单视图388

7.2.3新建发布单模板390

7.2.4新建发布单路由393

7.3发布单列表394

7.3.1发布单列表视图395

7.3.2发布单列表模板396

7.3.3发布单列表路由399

7.4编译程序包400

7.4.1编译视图400

7.4.2编译模板405

7.4.3编译路由410

7.4.4程序包检测410

7.5发布单详情412

7.5.1发布单详情视图412

7.5.2发布单详情模板413

7.5.3发布单详情路由414

7.6通过上传方式新建发布单414

7.6.1发布单上传表单415

7.6.2发布单上传视图417

7.6.3发布单上传模板421

7.6.4发布单上传路由424

7.7小结425

第8章环境流转426

8.1环境流转列表426

8.1.1环境流转列表视图427

8.1.2环境流转列表模板429

8.1.3环境流转列表路由434

8.2环境流转功能435

8.2.1环境流转功能视图435

8.2.2环境流转模板438

8.2.3环境流转JS439

8.2.4环境流转路由441

8.3环境流转历史442

8.3.1环境流转历史视图442

8.3.2环境流转历史模板444

8.3.3环境流转历史路由448

8.4小结448

第9章软件发布449

9.1发布首页展示449

9.1.1发布首页视图类449

9.1.2发布首页模板文件452

9.1.3发布首页路由设置456

9.2发布详情页展示457

9.2.1发布详情页视图类457

9.2.2发布详情页模板459

9.2.3发布详情页的JS代码466

9.2.4发布详情页路由467

9.3发布功能实现468

9.3.1浏览器的JS获取发布参数,并发布到后端469

9.3.2deploy_cmd函数解析发布参数471

9.3.3deploy函数启动Python的线程池474

9.3.4cmd_run函数操作SaltAPI476

9.3.5cmd_run运行过程中调用的日志读/写及数据表更新482

9.3.6服务启停脚本的实现487

9.4服务启停首页展示495

9.4.1服务启停首页视图类495

9.4.2服务启停首页网页模板496

9.4.3服务启停首页路由设置500

9.5服务启停详情页展示500

9.5.1服务启停详情视图类501

9.5.2服务启停详情网页模板503

9.5.3服务启停详情路由510

9.6部署历史实现510

9.6.1部署历史视图函数511

9.6.2部署历史网页模板512

9.6.3部署历史路由设置516

9.7Django Mock测试516

9.8小结518

第10章使用Django Channels实现基于WebSocket的实时日志519

10.1WebSocket协议简介520

10.1.1客户端(浏览器)WebSocket520

10.1.2后台服务端WebSocket523

10.1.3Django Channels名词解释523

10.2Django Channels项目(mablog)安装配置526

10.2.1Pip安装Channels模块526

10.2.2新建mablog项目527

10.3mablog数据库Model简介529

10.3.1设计models.py529

10.3.2将models.py的内容更新到数据库530

10.4日志写入实现531

10.4.1wslog的路由设置533

10.4.2wslog的log_add函数533

10.4.3wslog的log_add函数的测试534

10.5实时日志读取实现535

10.5.1日志读取的路由设置536

10.5.2日志读取的视图函数536

10.5.3日志读取的网页模板536

10.6使用Django Channels实现后端WebSocket541

10.6.1改造settings.py文件541

10.6.2新增asgi.py文件544

10.6.3新增routing.py文件545

10.6.4新增consumers.py文件,实现Channels消费者函数546

10.6.5测试ASGI服务器548

10.6.6分析客户端的JS代码549

10.7Django Channels生产环境运行配置551

10.8Django Channels测试552

10.9小结553

第11章使用Django REST Framework开发API接口554

11.1RESTful API及Django REST Framework简介555

11.1.1RESTful关键字556

11.1.2Django REST Framework简介557

11.2DRF安装配置558

11.2.1安装DRF558

11.2.2配置DRF558

11.3查看和修改用户Token560

11.3.1获取和更新Token的视图函数560

11.3.2获取和更新Token的网页模板561

11.3.3获取和更新Token的URL路由561

11.3.4增加网页右上角查看Token的链接562

11.3.5通过网页测试查看和修改用户Token的功能562

11.4手工建立一个API的Django App应用563

11.4.1新增API的目录及文件563

11.4.2在settings.py文件里新增应用565

11.4.3测试apitokenauth功能566

11.5实现查看用户的RESTful API566

11.5.1序列化和反序列化User数据表字段567

11.5.2生成User视图集合类568

11.5.3为User的API注册访问路由569

11.6实现查看发布单的RESTful API571

11.6.1序列化DeployPool数据表字段571

11.6.2生成DeployPool视图集合类572

11.6.3为发布单的API注册访问路由573

11.7实现查看、新增和修改服务器的RESTful API575

11.7.1序列化Server数据表字段575

11.7.2生成Server视图集合类576

11.7.3为Server API注册访问路由579

11.7.4使用Requests库测试Server API580

11.8实现查看、新增和修改App服务应用的RESTful API582

11.8.1序列化App服务应用数据表字段582

11.8.2生成App服务应用视图集合类582

11.8.3为App服务应用API注册访问路由584

11.9Django REST Framework API测试585

11.10小结588

第12章Django日志和数据统计及生产环境部署589

12.1Django Logging日志模块590

12.1.1Logging日志模块简介590

12.1.2为Manabe加上日志功能592

12.2统计自动化部署系统的数据594

12.2.1按天统计发布单的视图及路由595

12.2.2按天统计发布单的类视图、网页模板及echarts代码597

12.2.3Top 10组件发布单统计600

12.3Django生产服务器部署604

12.3.1WSGI协议604

12.3.2uWSGI服务器介绍605

12.3.3uWSGI服务器部署605

12.3.4支持uWSGI的Nginx服务器部署607

12.3.5Gunicorn服务器介绍610

12.3.6Gunicorn服务器部署610

12.3.7支持Gunicorn的Nginx服务器部署612

12.4为Manabe应用制作Docker镜像613

12.4.1制作包含配置及静态资源的Nginx镜像613

12.4.2制作包含uWSGI及Gunicorn、Channels的镜像615

12.4.3制作Manabe的uWSGI的专用镜像617

12.4.4制作Manabe的Gunicorn的专用镜像618

12.5为Mablog应用制作Docker镜像619

12.6Coverage——Django代码覆盖率测试621

12.7小结623

附录1Django 2.1开发环境配置624

附1.1Python 3.6.6安装配置(Windows)624

附1.1.1下载624

附1.1.2安装625

附1.1.3运行Python 3626

附1.1.4Python IDLE基本操作626

附1.2Django 2.1安装628

附1.3Python虚拟环境管理628

附1.3.1内置venv模块629

附1.3.2pipenv630

附1.4新建一个Django的demo项目632

附1.5PyCharm安装配置632

附1.5.1PyCharm安装633

附1.5.2PyCharm配置634

附1.6Are You Ready637

附1.6.1PEP 8637

附1.6.2Pythonic639

附录2GitLab安装配置640

附2.1源代码管理简介640

附2.2GitLab安装641

附2.2.1配置yum源641

附2.2.2更新本地yum缓存642

附2.2.3安装GitLab社区版642

附2.2.4修改外部URL642

附2.2.5启动GitLab642

附2.3GitLab服务初始化及TortoiseGit客户端使用643

附2.3.1更改GitLab管理员密码,登录系统643

附2.3.2新建一个GitLab项目644

附2.3.3在Windows下使用TortoiseGit操作GitLab645

附2.4GitLab系统管理655

附2.4.1新增项目组655

附2.4.2新增项目657

附2.4.3新增用户658

附2.4.4项目赋权659

附2.4.5权限明细661

附录3Jenkins安装配置663

附3.1Jenkins特性664

附3.2安装664

附3.2.1下载664

附3.2.2运行665

附3.2.3验证666

附3.3配置666

附3.3.1获取初始管理员密码666

附3.3.2安装推荐插件667

附3.3.3创建管理员667

附3.3.4实例配置667

附3.4Jenkins Pipeline669

附3.4.1Pipeline特性——Pipeline as Code670

附3.4.2Pipeline基本概念670

附3.4.3创建一个Pipeline示例670

附3.4.4Pipeline语法参考673

附3.5Jenkins系统配置678

附录4Hui前端使用入门680

附4.1Hui的主要组件681

附4.1.1表格(http://www.hui.net/Hui3.3table.shtml)681

附4.1.2按钮(http://www.hui.net/Hui3.5button.shtml)682

附4.1.3表单(http://www.hui.net/Hui3.4form.shtml)682

附4.1.4警告(http://www.hui.net/Hui4.8alert.shtml)684

附4.1.5模态对话框(http://www.hui.net/Hui4.10modal.shtml)684

附4.1.6便签和标号(http://www.hui.net/Hui4.6labelBadge.shtml)685

附4.1.7tooltip效果(http://www.hui.net/Hui4.25tooltip.shtml)686

附4.1.8标题(http://www.hui.net/Hui3.1typography.shtml)686

附4.2Hui.admin的主要网页687

附4.2.1Admin主页面687

附4.2.2Admin网页代码主要框架688

附4.3将Admin网页合成进Django模板690

附4.3.1网页顶部导航header.html690

附4.3.2侧边导航sidemenu.html692

附4.3.3内部顶部导航topnav.html695

附4.3.4统一的页脚本footer.html695

附4.3.5全局基本网页模板template.html696

附4.3.6继承网页的基本应用,index.html698

附4.4jQuery、zTree及Select 2库的使用701

附4.4.1jQuery(网址:http://jquery.com/)702

附4.4.2zTree(网址:http://www.treejs.cn/)703

附4.4.3Select 2(网址:https://select 2.org/)705

附4.5注意事项707

附录5Harbor容器私有镜像仓库安装配置708

附5.1安装Docker及DockerCompose709

附5.1.1Docker的安装710

附5.1.2DockerCompose的安装710

附5.2安装Harbor711

附5.3Harbor的日常管理716

附5.3.1用户管理716

附5.3.2仓库管理及远程复制717

附5.3.3配置管理718

附5.3.4项目管理719

附5.4测试Docker镜像上传和下载720

附5.4.1更改Docker仓库配置720

附5.4.2上传镜像到Harbor仓库721

附5.4.3从Harbor仓库获取指定镜像722

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/164278
推荐阅读
相关标签
  

闽ICP备14008679号