首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当使用开源厨师食谱时,我们应该克隆还是引用Berksfile?

当使用开源厨师食谱时,我们应该克隆还是引用Berksfile?
EN

Stack Overflow用户
提问于 2015-09-02 15:43:30
回答 2查看 166关注 0票数 1

假设我正在构建我的/my_company_cookbooks集合,我想使用一本来自Github的非常棒的社区烹饪书。

我有两个选择

  1. 参考github的烹饪书,在我的Berksfile中添加一行(烹饪书“石墨”,git:‘git://github.com/hw-食谱/Graphite.git’)
  2. 本地副本-将食谱复制到我的/my_company_cookbooks文件夹中,并保存对它的本地引用。

每一种战略似乎都有其优缺点。

Github值得

  • 没有本地副本
  • 很容易由作者完成修复

Github缺点--如何确定我的生产食谱完全依赖于我在阶段测试过的烹饪书的版本。作者可以忘记在修改代码的同时增加食谱版本。未经测试的代码更改将到达我的生产环境。

本地副本的优点I可以100%肯定地测试并推向生产&调试更容易

本地副本缺点

  • 如何获得最新的食谱(再次克隆?)
  • 我要在git回购中进行git回购吗?
  • 使用本地副本,其他菜谱开发人员可以修改克隆的食谱,这使得在github上发布新版本的食谱时更加难以同步。

在这个问题上有什么想法或最佳做法吗?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-09-02 15:53:44

引用伯克格文件

GitHub定位 从1.0.0版开始,您可以使用GitHub速记来指定位置。 烹饪书“工件”,github:“RiotGames /工件-食谱”,标签:" 0.9.8“,在这个例子中,来自工件-烹饪书存储库中的RiotGames组织的工件食谱将被克隆到书架上。

我假设这消除了github的缺点,然后您现在就没有理由不使用它了。

票数 2
EN

Stack Overflow用户

发布于 2015-09-02 19:14:46

在可能的情况下,使用社区“超市”存储库中的食谱。例如,以下内容将检索最新版本的石墨:

代码语言:javascript
复制
source 'https://supermarket.chef.io'

cookbook "graphite"

文档显示,本食谱由重水人管理。

为什么?在使用源代码存储库中的菜谱时,您可能会将相同版本的替代副本加载到您的厨师服务器中。

哈?请解释一下!

以下列情况为例:

  1. 厨师开发人员对他的食谱做了小改动,但没有增加食谱版本号1.1
  2. 你把你认为是1.1版的菜谱拉下来。
  3. 厨师开发人员对食谱做了更大的修改,但同样没有增加版本号(因为他还没有准备好发布)。

您的主厨服务器现在有一个版本1.1的副本,该副本与版本控制系统中1.1版本的最新副本不匹配.

让事情更复杂的是,您需要显式地运行一个"berks更新“,然后将食谱强制重新装载到您的厨师服务器(记住berk书架冻结食谱),以解决这个问题……这可能成为一个重要的问题,我已经被它烧掉不止一次(奇怪的是,openstack食谱是无法从超市获得)。

在一天结束时,如果您与其他开发团队关系良好,请从源代码中消费:-)如果您渴望稳定性,另一种解决方案是只使用Git标记,这是加载到厨师超市的食谱遵循的最佳做法。

厨师超市提供的是厨师食谱的发布管理流程。Git应该跟踪食谱中文件的所有更改。但是它不能检测到烹饪书什么时候可以发布。这是开发人员的工作,如果他的行为和遵循一个合理的工作流,他将标记他的代码,然后将其推到某种存储库中,供第三方下载。超市提供的就是这种加工和储存设施。我强烈推荐你的朋友使用它:-)

为长时间的咆哮道歉!治疗:-)

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

https://stackoverflow.com/questions/32357526

复制
相关文章

相似问题

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