基于git maven的自动构建系统系列二
条评论这篇文章的主要目的是记录使用python来编写公司发版系统的想法、过程。
一、构思
主要特征
该系统拥有web界面
代码发布功能:可以在web中实现各个webent单独发布、整体发布
git历史查看功能:查看git提交历史、查看每次提交修改文件。所以需要定时自动更新日志。
两次发布版本差异对比功能
实践能力
一个python的web框架
python调度操作git、maven、执行脚本
python写入和读取数据库
python/git版本对比
二、计划
1、寻找一款python的web框架。定为django。
2、学习并实践该框架
3、设计系统的MVC
4、各个功能编码实现和测试
三、执行
django的安装
安装的方法丰富多彩,很简单。参考github上django/django
或者参考官方网站的安装办法。
django的学习
主要参考官网的翻译资料:http://python.usyiyi.cn/translate/django_182/index.html
这里从文章发出到现在(2017/1/8),持续有40多天,期间断断续续的看,断断续续的边学边练习里面的例子。插播了很多其他事情,尤其是一些无聊的手机游戏,双休要跟老婆见面,时间蛮少了,坚持下来确实有点苦难,还好基础看完了。继续加油!下面硬着头皮继续下一个阶段的学习实践。
发版系统的原型
- 编译完成后,shell代码要将编译结果发布到tomcat容器中,容器路径在server.xml中配置了。其实这个地方理论上来将是没有必要的,个人认为,编译阶段就可以定义好编译的路径。研究下maven,把现在的shell流程简化。参考:http://blog.csdn.net/rj042/article/details/6834557。后发现pom.xml修改会影响研发的windows下编译发布路径,维持现状。
编码阶段
在我的django工程目录下新建自己的网站:
1 | #新建项目 |
1 | #新建网站 |
执行完
chaosbom@chaosbomPC:~/PycharmProjects/mydemo$ tree
.
├── gitlog
│ ├── admin.py
│ ├── apps.py
│ ├── init.py
│ ├── migrations
│ │ └── init.py
│ ├── models.py
│ ├── tests.py
│ └── views.py
├── manage.py
└── mydemo
├── init.py
├── pycache
│ ├── init.cpython-35.pyc
│ └── settings.cpython-35.pyc
├── settings.py
├── urls.py
└── wsgi.py
编辑gitlog/model.py
1 | from django.db import models |
编辑mydemo/settings.py:该Django 项目的设置/配置。至于它如何运作的,此处略。仅修改以下对应内容。
1 | INSTALLED_APPS = [ |
接着让模型自动在数据库中生成表:
1 | python3.5 manage.py check |
登陆数据库查看,已经能够看到模型对应的数据库。
初始化数据库:
使用python的脚本来更新。
1 | from __future__ import print_function |