软件构建实践分享

Author: 郑堃
Date: 2014.11.15

自我介绍

概念同步

概念同步 - 软件开发立体视图

_static/software_development.png

内容提纲

Python 用在了哪?

代码管理的实践 - 工具

_static/old_3_tools.png _static/new_3_tools.png

代码管理的实践 - 经验

代码管理的实践 - Git 分支协作方式

_static/Git_full.png

自动化测试的实践 - Why?

_static/auto_test.png

自动化测试的实践 - 工具

自动化测试的实践 - 示例图

_static/unittest.png

自动化测试的实践 - 经验

文档的实践 - 工具

_static/rst_editor_qt1-yes.png

文档的实践 - 经验

code review 的实践

code review 的实践 - 示例图

_static/code_review.png

包管理/构建发布的实践

包管理/构建发布的实践 - 示例图

_static/PYPI.png

持续集成的实践 - 工具

持续集成的实践 - 配置/脚本截图

_static/gitlab-ci.png

持续集成的实践 - 经验

持续集成的实践 - CI 截图

_static/CI-show-gitlab.png

持续发布?

团队协作工具的实践

擅用而不滥用工具

汇总 - first commit

$ cookiecutter git@gitlab.example.com/public/pyproject.git
$ cd some
$ virtualenv .
$ source bin/activate
$ make
$ git init
$ git add XXX
$ git commit
$ git remote add git@gitlab.example.com/private/some.git
$ git push origin master

汇总 - 项目模板说明

_static/tree.png

汇总 - 做好配置管理工作

汇总 - 神奇的黑盒

_static/start.png

汇总 - 神奇的黑盒

汇总 - Ship it!

$ make sdist

汇总 - 现实是复杂的

回顾

参考

问答

? & !

结束

谢谢!