V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
hustlzp
V2EX  ›  Python

Flask怎样进行日常部署?

  •  
  •   hustlzp ·
    hustlzp · 2013-03-18 19:01:46 +08:00 · 5398 次点击
    这是一个创建于 4295 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近从CodeIgniter转到Flask,开发环境也从Windows转到Linux。

    想问下怎么样进行日常的部署啊?就是说我不定期会对网站的功能进行增加,然后就需要把代码弄到服务器上面去。

    之前用PHP的时候,就是每次代码写完之后就用FTP一股脑把代码传上去。现在转到python后我还是用老办法:在vps上建一个FTP server,然后每次还是用FTP软件传代码上去,然后service apache2 restart...

    感觉这种方法太笨了,求各位大大指点更加高效的方法啊啊!
    9 条回复    1970-01-01 08:00:00 +08:00
    liuxurong
        1
    liuxurong  
       2013-03-18 19:05:49 +08:00
    linnchord
        2
    linnchord  
       2013-03-19 10:03:36 +08:00
    最简单的情况下可以用git直接从代码库拉取同步,要自动点可以通过git的更新hook或者fabric。
    janxin
        3
    janxin  
       2013-03-19 13:40:58 +08:00
    @linnchord 这个有没有具体部署方案,求一下
    linnchord
        4
    linnchord  
       2013-03-19 14:43:15 +08:00   ❤️ 1
    @janxin 不知道“具体部署方案”指什么,如果是Flask项目的运行部署,我们是通过nginx+uwsgi,随便google一大把,就不扯了。如果指项目代码发布部署,其实上面那句话就差不多了。

    更具体一点,

    * 项目的git服务器创建在公网上,我们是通过gitlab管理。
    * 代码的部署直接从git服务器上拉取主分支(一般是master),这样实现同步和回滚都没问题。
    * 如果要避免登录到服务器上操作,可以通过fabric,很简单犀利的东东,看文档+写一个发布脚本半个小时足够。
    * 有些人通过git的hook实现发布,就是当master分支更新时出发事件自动调用发布脚本。不过我觉得这个局限比较大,如果是公司团队正式项目一般不建议采用。
    * 还要更自动化可以考虑持续集成工具,项目测试、集成、发布一起搞定,例如Jenkins,不过这个就比较麻烦了,看文档慢慢搞。
    janxin
        5
    janxin  
       2013-03-19 15:58:10 +08:00
    @linnchord 主要是源码->服务器并实现自动reload的资料
    linnchord
        6
    linnchord  
       2013-03-19 16:34:22 +08:00
    @janxin 代码发布基本就是上面流程了

    自动reload可不适合于生产环境,最好不要这样搞。uwsgi提供touch重启功能,运行时touch一个指定文件(配置指定)即可无痛(不影响当前用户访问)重启。通过fabric,这个操作可在客户端执行。
    stingh711
        7
    stingh711  
       2013-03-19 16:35:09 +08:00
    fabric
    hustlzp
        8
    hustlzp  
    OP
       2013-03-19 18:41:09 +08:00
    @linnchord
    @stingh711

    感谢!
    janxin
        9
    janxin  
       2013-03-20 00:14:57 +08:00 via iPad
    @linnchord 感谢分享
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2851 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 09:29 · PVG 17:29 · LAX 01:29 · JFK 04:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.