自动化部署与更新flask项目
我自己写了flask一个应用,已经成功部署上线了。使用的是uwsgi与nginx
1.我的做法在github上有一个私有的代码库,每次本地开发完之后就将代码更新到远程库中
2.然后登陆服务器,服务器上项目的代码库一开始是从远程库中克隆下来的,所以每次需要更新代码前需要先git pull,
3.然后我需要进入这个项目的虚拟环境,运行uwsgi --relaod uwsgi.pid
这样才算是真正完成更新
请问各位大神有没有什么更好的方式
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
简单说下思路
第一步,在服务器上创建一个git远程仓库
第二步,在服务器上编写
post-receive
(Git Hooks
)自动部署脚本实际可能需要更加复杂的逻辑,这里只做说明
备注:用户
username
必须拥有/var/www/projectname
目录的读写权限第三步,在本地添加远程仓库
想用成熟的方案的话可以使用Jenkins,不过需要在一台服务器上先部署Jenkins,有点占内存的,简单一点的方案可以使用GitHub webhooks,然后写一个专门用来更新服务的flask应用,只有一个接口,用来执行关闭服务,更新代码,运行测试,重启服务的任务,直接用os.system或者subprocess.call调用命令就可以。