Python 2.7 / Flask / MongoDB / Git 进行持续集成

4
如何在我的新应用程序上实现持续集成?目前,我们是这样推送到生产环境的-请耐心等待,我知道这远非明智:
1. 从本地,git push origin production(生产代码库保存在生产分支上,修改要么直接写在那里并提交,要么从另一个分支单独检出文件。Origin是远程生产服务器) 2. 在远程框中,sudo stop gunicorn(应用程序作为进程运行) 3. cp ~/flaskgit/application.py ~/flask/applicaion.py(来自本地的git push origin会将其推送到一个init-bare存储库,并带有一个post-update钩子,该钩子填充~/flaskgit中的文件。~/flask是gunicorn服务在其中运行虚拟环境下的应用程序) 4. sudo start gunicorn
我们使用~/flaskgit代码在不同端口上运行测试。一旦看起来不错,我们就进行CP。
我希望有更流畅的东西。我以前使用过jenkins,并喜欢这种体验-但没有设置它。
为了做得好,我应该查找哪些资源/实用程序?
谢谢!

2
你可以查看正在运行的 http://jenkins.plone.org 上的 Jenkins 设置的配置文件,这是一个用 Python 编写 / 基于 Zope 构建的 CMS,我们使用 git (GitHub) 进行版本控制,并使用 buildout 进行部署 / 设置可重现的测试配置。 - Lukas Graf
1
您无需停止和启动Gunicorn。只需用新的application.py覆盖旧文件,并向Gunicorn主进程发送HUP信号即可。这样可以重新加载您的应用程序并使用新代码。 - Cenk Alti
1个回答

1

buildbot,jenkins/hudson是连续集成工具,在提交钩子上可以随着每个代码基础更改运行一个“make”等效物。如果您想创建可重复的虚拟机(VM)对于配置/设置方面的话,您也可以查看Vagrant。可以将其与提交挂钩结合使用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接