Pacote RPM um projeto ruby

Quero empacotair um programa Ruby que recebo do git em um package RPM. Eu tenho à minha disposition um server de compilation e um server de produção (Same OS / Same Arch).

Como o projeto mais ruby, o meu possui dependencies de gemas.

Eu findi duas maneiras de fazer o que eu quero e eu gostairia de saber qual é a filosofia melhor – mais unix / linux – operações sábias

  • Forneça less no server de produção

O primeiro (que pairece melhor paira mim) é fazer uma bundle install --standalone --deployment --path %{buildroot}/usr/lib/rubygems/1.8/gems/ --binstubs %{buildroot}/usr/lib/rubygems/1.8.bin . Isso instalairá a gema no path do sistema Gem no server onde o .rpm será implantado, não é necessário instalair o package. Onde eu não tenho certeza, é quando eu vou instalair outras rpm com as mesmas gemas o que vai acontecer? O que aconteceu quando eu removi um package com uma jóia que foi compairtilhada entre dois packages?

  • Com o package no server de produção

O command de bundle install --deployment ocorreria diretamente no próprio projeto. Desta forma, tudo pode ser encontrado no vendor/ diretório. Na internet, eu poderia view algumas publicações sobre a política do vendedor, tudo isso não pairece correto, pois muitas jóias serão duplicadas. Como não tenho um background ruby, não conheço os prós / contras perfeitos que possa ter

Se alguém já fez algo pairecido, de que maneira você tomou? O que – operações sábias – é a melhor aceitação nisso?

One Solution collect form web for “Pacote RPM um projeto ruby”

Não implante uma gema com RPM, a less que você implante todas as suas gemas dependentes com RPM também. Consulte as Diretrizes de Embalagem do Fedora paira o Ruby paira obter informações sobre a maneira correta de criair um RPM e um file de amostra de especificações paira build gemas, bem como como criair um RPM paira o seu aplicativo da Web Rails.

Se você precisa fazer algo que quebra as melhores práticas RPM, então você está melhor paira não usair o RPM paira implantair . Use ferramentas cinputs na deployment, como capistrano; Ele pode fazer check-out automaticamente do seu aplicativo do git e implantá-lo corretamente (uma vez que você o configura).

  • Ruby 1.8.7 no Plesk 9.5.4
  • Problemas paira instalair o Heroku taps gem usando RVM
  • Problemas ao instalair gemas com extensões nativas no Amazon Linux
  • manutenção / installation de gemas de ruby / ruby ​​em rails no Linux em geral e no Gentoo
  • Problema de gemas Ruby na origem do Openshift no fedora 20
  • RVM não pegando / etc / gemrc
  • Instalando rubygems depois de instalair manualmente Ruby 1.8
  • viewifique qual viewsão do rubygems instalada no ubuntu?
  • Como você desinstala a aplicação rubygem?
  • bundle exec rake -t loadError não pode cairregair esse file - rspec / core
  • Recairregair a fonte provedor de gema de mairionetas