ruby - 在组织内共享 ruby​​ 代码

标签 ruby rubygems jruby

我和我的团队开始构建一些可重复使用的脚本。它们只能在我们的组织内重复使用,因为它们与专有应用程序和我们的特定服务器环境一起使用。所以不太适合 ruby​​forge 或 github 等。

我的问题是,确保我们都为所有用户使用最新最好的脚本的最佳做法是什么?我们几乎在一台服务器上运行这些脚本,但可能需要扩展到其他服务器。

我们是否应该将它们捆绑到 gem 中并启动私有(private) gem 服务器?

或者更简单的东西,比如通用的、可共享的 lib 目录。也许使用脚本从我们的 SCM 下载/更新?

其他想法?

谢谢....

最佳答案

这取决于一些因素,例如有多少人想要更改代码(只有您的团队,或者还有其他人),或者您为此准备了多少钱?

我个人会创建一个 build+gem 服务器,您可以在其中使用某些版本控制系统(如 git 或 svn,取决于有多少人在处理该项目)上传脚本,然后创建一个 cron 作业,即会以通用间隔自动从源中生成 gem 并将它们存储为不同的版本。通过这种方式,您可以确保您始终拥有一个存储应用程序 gem 的授权服务器,并且如果出现问题,您始终可以获得较早的版本。您的脚本可能会创建单独的 gem 版本名称,例如“appserv-edge”或“appserv-stable”

如果您有足够的钱,您可能还想查看 github 的闭源选项。但是我不知道他们是否有用于非开源程序的 gem 构建和托管设施。

关于ruby - 在组织内共享 ruby​​ 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1000130/

相关文章:

ruby - 生成伪随机串A-Z,0-9

java - buildr 构建已中止 - 无法从存储库下载

java - Neo4j 1.3 是否弃用了 Java API?

ruby-on-rails - 创建编辑表单的最佳方法是什么?

ruby-on-rails - Ruby on Rails HTML 表格生成器

ruby - Gem::Installer::ExtensionBuildError:错误:无法构建 gem native 扩展 Linux Mint

mysql - 在雪豹中安装 mysql 失败

java - 从 ScriptEngineManager eval 方法设置 gem 路径

ruby-on-rails - 需要 ActiveRecord 查询来查找具有特定子记录的父项以及其他

ruby - Ubuntu:运行 Unix "hash"命令时,Kernel#system 失败(返回 nil)