加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Ruby开发环境(OS X vs. Ubuntu)

发布时间:2020-12-17 02:35:25 所属栏目:百科 来源:网络整理
导读:我是一名使用RoR-CoffeeScript-Sass-Passenger-Apache的开发人员.我们使用EC2进行部署,我们使用Macbook Airs进行开发.虽然rails社区非常适合Mac,但由于dev与prod的整个部署堆栈差异,我正在使用虚拟机ubuntu而我的同行正在开发OS X本机. 使用OS X Native会增
我是一名使用RoR-CoffeeScript-Sass-Passenger-Apache的开发人员.我们使用EC2进行部署,我们使用Macbook Airs进行开发.虽然rails社区非常适合Mac,但由于dev与prod的整个部署堆栈差异,我正在使用虚拟机ubuntu而我的同行正在开发OS X本机.

使用OS X Native会增加更多问题,因为我们在堆栈中有更多依赖项(Solr,Beanstalk,Mongodb等在Ubuntu中运行良好)

我正在寻找有关如何使用Mac和Amazon EC2的Rails开发人员可以设置他们的开发和生产环境的建议.

还希望得到关于使用vagrant来分发此用例的开发环境的反馈.

解决方法

我们的团队一直在Mac上开发并在EC2上部署到Ubuntu三年,现在几乎没有问题.有几件事使这个过程变得顺利:

>我们可以在Mac上运行整个应用程序堆栈**.在macports,自制软件和必要时从源代码构建之间,我们设法让我们运行的每一项技术都在我们的开发盒上工作.这些部分配置和组合在一起的方式在本地是不同的(例如,在prod中,我们自动发现我们的memcached实例,而在本地它是硬编码的)但是每个集成都可以在Mac上进行测试,然后再进行生产.
>我们的连续构建系统与我们的产品盒设置相同.这意味着如果您签入一些依赖于某些本地魔法的代码,就会很快发现它.
>我们运行一个浸泡(有些人称之为暂存或集成)堆栈,其配置与生产相同.这有时会导致一些开发开销,但有很多好处,这是值得的.在推送到prod之前,所有代码都会通过此堆栈.

这种设置运行良好,随着时间的推移,我们允许设置的更多部分分开.我们曾经在当地经营乘客(就像我们做的那样),但现在使用Pow.在升级堆栈的其余部分之前,我们会定期尝试开发新的ruby版本一段时间.

我不得不使用虚拟化环境开发其他项目(VirtualBox中的OSX CentOS),并且肯定发现它更加痛苦,全天然.首先,感觉就像管理两台机器而不是一台机器.一切也感觉到了狼吞虎咽.

如果有一块堆栈在Mac上运行很痛苦,我肯定更愿意接受这样的打击:a)花时间让它在本地运行或b)抽象掉那块,而不是支付税款处理虚拟环境.

**我在本次讨论中仅包括Rails应用程序和直接依赖项.例如,我们使用puppet配置我们的EC2机队,但不要在我们的开发箱上运行它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读