Как сделать так, чтобы «установка пакета» всегда загружала драгоценный камень, размещенный в частном порядке (на Github)? - PullRequest
0 голосов
/ 11 октября 2011

У нас есть драгоценный камень, который содержит общий код для нескольких приложений. Он размещен на частном репозитории github.

Я хочу, чтобы каждое приложение автоматически получало последнюю версию этого драгоценного камня при каждом запуске bundle install, чтобы другие члены моей команды всегда были в курсе последних событий, а также имели простое развертывание на Heroku и наш сервер Jenkins CI.

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

Есть ли способ заставить упаковщик всегда получать последнюю версию гема?

Нужно ли нам просто сделать bundle update регулярной частью нашего рабочего процесса, когда мы внедряем или запускаем мастер (запуск выполнения Jenkins)?

1 Ответ

2 голосов
/ 11 октября 2011

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

bundle update mygem

За справочную страницу обновления пакета :

Обновить указанные гемы ... игнорируя ранее установленные гемы, указанные в Gemfile.lock.

В вашей среде разработки вы можете создать bash или другой скрипт для запуска этого в тандеме со стандартным bundle install.

Что касается развертывания Heroku, то после того, как вы обновили и передали изменения Gemfile.lock в свое git-репо, Heroku должна использовать эту версию для своих документов :

Gemfile.lock гарантирует, что ваши развернутые версии гемов в Heroku соответствуют версии, установленной локально на вашем компьютере для разработки.

...