Quelles sont les petites choses que je dois faire avant de déployer une application rails

StackOverflow https://stackoverflow.com/questions/101066

Question

MODIFIER

Quelles petites choses trop faciles à négliger dois-je faire avant de déployer une application rails?

J'ai configuré une autre question pour toute tâche qui prend plus d’une minute ou deux et doit donc être planifiée dans un processus de déploiement. Dans cette question, je suis principalement préoccupé par les options de configuration en ligne et similaires, ce qui peut être fait, mais ils sont souvent laissés de côté pendant le cycle de développement car ils ne font aucune différence avant le déploiement.

Était-ce utile?

La solution

  • Geler les gemmes que vous utilisez gemmes de râteau: décompressez
  • Changer le secret dans config / environment.rb
  • Filtrez les informations sensibles comme les mots de passe: dans app / controllers / application.rb filter_parameter_logging: password,: password_confirmation

Autres conseils

  • Assurez-vous que la base de données est configurée sur votre serveur de production
  • Configurez capistrano pour déployer votre application correctement
    • Exécuter une analyse à sec de capistrano
  • Assurez-vous que Rails est emballé dans votre dossier vendor / rails
  • Assurez-vous que toutes les pierres précieuses sont gelées dans votre application ou installées sur votre serveur de production
  • Exécutez vos tests sur la machine de production
  • Inclure l'extrait de Google Analytics (ou d'autres analyses)
  • Vérifiez le journal de requête lent et ajoutez à vos modèles les index entraînant des traversées de table complète.

  • Aussi

    grep -ril FIXME

Configurez les fichiers et les dossiers à partager entre les copies déployées de l'application, y compris (sans s'y limiter) les caches de vues, la configuration de la base de données, la page de maintenance ...

Ce ne sont pas vraiment des tâches de déploiement spécifiques à Rails, mais je les ai trop souvent négligées pour les systèmes déployés:

  • sauvegardes; certes, cela peut finir par être une tâche énorme, mais ce n’est pas nécessairement le cas. Planifier simplement des sauvegardes nocturnes de la base de données et du logiciel est souvent suffisant.
  • Test de la procédure de restauration
  • Rotation et archivage des journaux
  • Notification d'exception
  • Assurez-vous que la variable RAILS_ENV est correctement définie à l'endroit où vous déployez. Soit via l'environnement, soit via un rappel capistrano.
  • Assurez-vous que tous vos tests sont satisfaisants en exécutant la spécification rake, shoulda, les tests unitaires ou tout ce que vous utilisez pour tester.
  • Déballez vos pierres précieuses à l'aide de rake gems: décompressez
  • Décidez si vous devez geler Rails. rails de rake: freeze: gems
  • Vérifiez que les dépendances sont installées sur le serveur si vous avez besoin de plus que des gems (memcached, serveur de messagerie, etc.)
  • Si vous utilisez MySQL, compilez et installez la bibliothèque MySQL basée sur C sur le serveur (cette opération peut durer plus de quelques minutes, mais elle est généralement assez rapide si toutes les dépendances sont remplies).
  • Si vous utilisez git, transmettez votre code à la branche principale. Marquez-le si nécessaire.
  • Si vous utilisez SVN, marquez la version.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top