首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Fabric + buildout与Fabric + pip + virtualenv相反

Fabric + buildout与Fabric + pip + virtualenv相反
EN

Stack Overflow用户
提问于 2013-09-18 23:04:37
回答 2查看 1.8K关注 0票数 12

我最近开始玩夹层,一种基于django的CMS。最近,我成功地配置了Fabric,将其上传到我的主机webfaction.com,因为它更多地涉及到在共享主机上自动创建网站,并且我想要自动化这个过程。

总之,该系统使用Fabric来上传配置文件的模板,使用pip + virtualenv处理python包。

不过,我最近刚刚读到了有关构建的文章,以及一些人是如何对其进行部署的,而其他人则不这么认为。

虽然我已经搜索并发现了大量关于buildout与pip的结果,但是关于buildout + fabric与pip + fabric的信息并不多。看起来,构建出来的一些特性(上传配置模板、处理管理器)可以通过fabric完成。有人能告诉我这两种方法的优缺点吗?

注意:由于我在可预见的将来使用共享托管,我不能这样做,这似乎需要一些现有的食谱构建。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-19 13:17:55

摘要:显然,Pip只安装python包,您还需要做更多的工作。您可以在buildout中完成大部分额外的工作,这与buildout在本地和服务器上的优点相同。那样的话,织物就得少做一些。缺点是构建了额外的复杂性,所以如果几个定制的fabric命令对您来说就足够了,那可能更适合您。那么:这种交易对你是如何运作的呢?

长篇版本:

Pip擅长为您的项目安装python包。Buildout擅长为项目设置几乎所有的东西(包括python包)。这就是进球的区别。

现在..。你把布料混入其中。使用pip+fabric,您可以从fabric内部调用pip来获取所有python包,然后使用fabric本身来设置其他所有内容。apache/nginx配置文件,创建几个目录("var/log/")等等。

使用buildout+fabric,您将已经将构建配置为完成许多工作,如创建目录、从模板生成文件、设置监控器和设置cron作业以在@reboot上启动监控器。所以这份文件必须少做一些。

所以..。你交换责任。所有你能做的事,你可以做的,在织物上。在buildout中所能做的一切,都可以使用自定义python (或shell)脚本和pip (“必须执行的额外命令阅读README”)。

构建是一个很好的地方来做事情,如果它是你的项目的一个组成部分。可以这样想:如果您在服务器上的生产中和在您的开发机器上都需要它,那么最好在构建器中这样做。否则,你也必须在本地机器上运行织物。你能做到的但是..。

我把织物和建筑结合起来,我自己。构建是用于设置项目本身,为项目周围的一切设置。下面是一些例子:

  • 实际上,从生产服务器上的git克隆构建。
  • Git拉(并签出适当的标签)。
  • 重新启动主管。

我的建议:看看pypi的构建食谱,看看它们是否方便你。它们是否为您节省了足够的工作,使您值得投入到完全构建配置意味着的额外复杂性中去?如果您没有从构建出来中得到足够的信息,那么您最好只使用fabric+pip和fabric文件中的一些自定义命令。

票数 17
EN

Stack Overflow用户

发布于 2013-09-23 17:00:58

看看蚕豆工具,它为您的蚕豆文件添加了许多很好的构建功能。我曾与各种类型的厨师,木偶(胡桃的大锤)和织物一起工作。我发现Ansible对那些陷入困境但不想学习一门语言的团队来说是伟大的,但就个人而言,一个组织良好的织物项目赢得了成功。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18883755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档