与python 2.7/flask/mongoDB/git的持续集成

与python 2.7/flask/mongoDB/git的持续集成,python,git,continuous-integration,flask,gunicorn,Python,Git,Continuous Integration,Flask,Gunicorn,我应该如何在我的新应用程序上实现持续集成?目前,这就是我们推动生产的方式——请容忍我,我知道这远远不够理智: 从本地、git推送源生产(生产代码库保存在生产分支上,修改要么直接写入并提交,要么从另一个分支单独签出文件。源是远程生产服务器) 在远程框上,sudo stop gunicorn(应用程序作为进程运行) cp~/flaskgit/application.py~/flask/application.py(git推送源从本地推送到init-bare repo,带有一个更新后钩子,用于填充~/

我应该如何在我的新应用程序上实现持续集成?目前,这就是我们推动生产的方式——请容忍我,我知道这远远不够理智:

  • 从本地、git推送源生产(生产代码库保存在生产分支上,修改要么直接写入并提交,要么从另一个分支单独签出文件。源是远程生产服务器)

  • 在远程框上,sudo stop gunicorn(应用程序作为进程运行)

  • cp~/flaskgit/application.py~/flask/application.py(git推送源从本地推送到init-bare repo,带有一个更新后钩子,用于填充~/flaskgit中的文件。~/flask是gunicorn服务在virtualenv下运行应用程序的地方)

  • sudo start gunicorn

  • 我们使用在不同端口上运行的~/flaskgit代码进行测试。一旦看起来不错,我们就做CP

    我想要更流畅的东西。我过去曾使用过詹金斯,我喜欢这种体验——但没有设置它

    为了做好这项工作,我应该查找哪些资源/实用程序


    谢谢大家!

    buildbot,jenkins/hudson,但它们提供了持续的集成,从某种意义上说,您可以通过提交钩子对每个代码基更改运行“make”等价物。您还可以看看vagrant,看看是否有什么东西可以让您创建可重复vm的wrt来配置/设置。可以将其与提交挂钩绑定。

    您可以查看正在运行的。Plone是一个用Python编写的CMS/构建在Zope之上,我们使用git(GitHub)进行版本控制和部署/设置可复制的测试配置。您不必停止和启动Gunicorn。只需使用新的application.py编写application.py并向gunicorn主进程发送HUP信号。它应该用新代码重新加载应用程序。