Quelle est la différence entre bundle install -- deployment et bundle pack?
je sais qu'ils ont à la fois de mettre les pierres dans votre application dans différents endroits, mais il semble comme si bundle install --déploiement fait un travail plus complet. Puis-je simplement ajouter le répertoire fournisseur/bundle qu'il crée au contrôle de version et être fait?
3 réponses
consultez la description des deux sur le site de Bundler.
Exécution bundle install --deployment
doit être exécuté dans l'environnement de production, mais saisira les gemmes de rubygems lors de l'exécution. En savoir plus ici sous la rubrique "Déployer votre Application" aux fins de --deployment
drapeau.
bundle package
est similaire à l'ancienne rake rails:gems:freeze
commande à partir des Rails 2.3. Il saisit les gemmes et les empaquette dans vendor/cache. Du site du bundler ici:
Vous pouvez l'utiliser pour éviter une dépendance sur rubygems.org au moment du déploiement, ou si vous avez des bijoux privés qui ne sont pas un dépôt public
j'utilise bundle install --path vendor/bundle
en mode développement.
bundle install --deployment
verrouiller votre Gemfile.verrouiller et ne pas le mettre à jour lorsque vous changez votre Gemfile, donc ne jamais utiliser l'option de déploiement sur l'environnement de développement.
bundle install --no-deployment
désactivera le mode de déploiement des paquets.
Vous pouvez lire post à propos de l'utilisation de l'ensemble dans le droit chemin.
j'ai expliqué assez longuement le raisonnement derrière le drapeau --deployment mode dans un exposé que j'ai donné à RailsConf 2011. Ce billet de blogue contient mes notes pour cet exposé, et (j'espère) couvre tout le raisonnement derrière la façon dont le déploiement fonctionne:http://andre.arko.net/2011/06/11/deploying-with-bundler-notes/