wei shenme shouji buneng shuru zhongwen 服务器选用 Vultr VPS,配置 1C1G,安装 Ubuntu16.04 后将 MacBook 的 ssh key copy 后使用 ansible 脚本即可完成环境部署,VPS 的网速非常快,100mb.test 下载测速只需一秒,不到 5 分钟搞定环境搭建:ansible 脚本地址 https://github.com/jarrekk/Ansible-VPS
部署任务有:
- 安装 oh my zsh
- 创建 swap 空间并加入开机启动,重启
- 安装 ss (你懂得)
- 安装 docker
- 从 Dropbox download 数据库数据( mongodb 和 redis )和 HTTPS 证书,方便后面部署 docker 应用使用,Dropbox 脚本使用 https://github.com/jarrekk/Dropbox-Uploader
- 一些 cron job
开发项目在 GitHub 上,前端使用 vuejs 和 element-ui 做了一些简单的功能,后端是 flask+redis+mongodb,代码分别放在:
https://github.com/Z-Tool/ztool-backhend-mongo
https://github.com/Z-Tool/ztool-frontend
项目没写多少内容,主要使用 Travis-ci 实现自动化测试和部署,目前有 develop 和 master 分支,在 feature 分支上开发后 merge 到 develop 分支,每次 push 都会自动 build 并 test,code coverage 使用 codecov 集成在 Travis-ci 里面,merge 到 master 分支后会自动部署到 vps。部署方法:前端 rsync 即可,后端使用 fabric+docker-compose 实现部署。整套 CI 在项目的 .travis.yml 和 .travis目录里。
还有一个 Python library 的项目 https://github.com/jarrekk/imgkit,使用 Travis-ci 实现测试和发布版本到 pypi,并有完整的测试。
对于服务器更换或者迁移 VPS 到其他厂商,只需要申请新的 VPS 主机跑一下 ansible playbook,然后在 Travis-ci 上 rebuild master 分支上最新的 job 即可。