Подтвердить что ты не робот

Как я могу развернуть 'private' драгоценные камни, к которым могут обращаться мои приложения, но никто не может их получить?

У меня есть несколько приложений, которые я хочу поделиться с одним распространенным кодом. Я бы хотел сделать код и поделиться им по всем приложениям, хотя я не хочу публиковать его на общедоступном сервере gem.

Каковы некоторые параметры?

4b9b3361

Ответ 1

Это кажется многообещающим:

https://github.com/cwninja/geminabox/

Хотя я не использовал его сам, поэтому я не могу ручаться за него. Тем не менее, это было рекомендовано в потоке, который я недавно прочитал на официальном сайте Rubygems Q & A, где было упомянуто, что встроенный хостинг rubygems не является рекомендуемым решением, а Geminabox был предложен в качестве хорошей альтернативы.

Обратите внимание, что он не имеет никакой аутентификации или безопасности (за исключением видимости), поэтому в зависимости от того, насколько чувствительны эти драгоценные камни, вы можете добавить что-то в себя (или даже просто "белый список по IP-адресу" ).

Ответ 2

GemFury - это то, что вам нужно, я думаю.

Ответ 3

Способ сделать это - распаковать драгоценный камень в каталог поставщика/драгоценных камней. Затем вы говорите Bundler, где его можно найти с помощью Gemfile, как обычно.

Сначала распакуйте драгоценный камень в вендор/драгоценные камни. Я предполагаю, что у вас есть gem, загруженный и сидящий в открытой директории перед вами.

gem unpack your_gem.gem --target /path_to_rails_app/vendor/gems/.

Теперь обновите свой Gemfile с помощью строки, подобной этой:

gem 'your_gem', :path => "#{File.expand_path(__FILE__)}/../vendor/gems/your_gem"

Наконец, используйте Bundler для его установки и обновления Gemfile.lock

bundle install

Теперь у вас есть локальная копия драгоценного камня, установленного в вашем приложении Rails.

Теперь вы можете делиться драгоценным камнем между вашими приложениями любым способом, поддерживая символическую ссылку, подмодуль Git или поддерево.

Ответ 4

Мое предложение для этого - использовать bundler, частную репозицию git и зависимость git + ssh. Единственная проблема будет заключаться в том, что вам нужно будет найти способ управления ключами ssh, поскольку в настоящее время я не верю, что поставщик поддерживает кеширование ключей ssh. Возможно, вы сможете использовать синтаксис https://username:[email protected]...., но я его не пробовал.

Не забывайте, что у вас всегда есть возможность использовать bundle package для упаковки ваших драгоценных камней для развертывания.

Надеюсь, это поможет!

Ответ 5

github предлагает несколько частных репозиториев за небольшую плату.