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

Предотвращение нанесения жемчужины на RubyGems

NPM имеет возможность предотвратить публикацию драгоценного камня. Есть ли способ сделать то же самое и предотвратить случайное опубликование драгоценного камня для рубигемов?

4b9b3361

Ответ 1

RubyGems 2.2.0 был только недавно выпущен, что добавляет поддержку для этого. Вам нужно установить allowed_push_host на свой собственный сервер драгоценных камней. Документация описывает это следующим образом:

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

RubyGems 2.2.0 и новее поддерживают значение метаданных allowed_push_host, чтобы ограничить жемчужину нажатием на один хост. Если вы публикуете частные драгоценные камни, вы должны установить это значение, чтобы предотвратить случайное нажатие на rubygems.org:

Gem::Specification.new 'my_gem', '1.0' do |s|
  # ...
  s.metadata['allowed_push_host'] = 'https://gems.my-company.example'
end

Чтобы обновить RubyGems, просто запустите следующую команду:

gem update --system