2011-05-26 3 views
0

J'ai un projet Ruby on Rails que j'ai déployé sur un service PaaS via GitHub. Le repo Git est structuré comme ceci:Intégration Ruby on Rails avec Heroku/Engine Yard/services similaires

/ (root) 
    README 
    some random files here 
    src (directory) 
    a_folder 
    another_folder 
    my_rails_app 
     app (directory) 
     config (directory) 
     config.ru 
     db (directory) 
     ... 
     Gemfile 
     ... 
     Rakefile 
     README 
     ... 

Comme vous pouvez le voir, l'application Rails est deux répertoires situés sous la racine. Je suppose que je pourrais le déplacer vers un fichier en dessous de la racine si nécessaire, mais je dois absolument avoir d'autres fichiers non-Rails suivis sous contrôle de version.

Mais comme mon application Rails n'est pas à la racine, j'ai du mal à utiliser Engine Yard, Heroku, etc ... ils ne savent pas où trouver le Rakefile. J'ai essayé de créer un Rakefile (https://gist.github.com/245400) et de le placer dans les répertoires racine et src mais cela ne fonctionne toujours pas.

Savez-vous ce qui se passe ici ou comment y remédier?

+0

Si vous souhaitez déployer sur Heroku/Engine Yard, etc., vous pouvez simplement placer tous ces «autres dossiers» dans le répertoire de l'application (par exemple, dans un dossier appelé 'support_documents' ou quelque chose de ce genre). Ensuite, vous pouvez avoir ces documents sous le contrôle de la source ET déployer sur Heroku. De plus, avec Heroku, vous pourrez ajouter ces documents supplémentaires au fichier slugignore (http://devcenter.heroku.com/articles/slug-compiler) pour qu'ils ne soient pas compilés dans le slug. –

Répondre

1

(Comme ;-D demandé)

Si vous souhaitez déployer sur Heroku/Engine Yard, etc., vous pourriez vouloir mettre tous ces « autres dossiers » dans le répertoire de l'application (par exemple dans un dossier appelé support_documents ou quelque chose).

Ensuite, vous pouvez avoir ces documents sous le contrôle de la source ET déployer sur Heroku. De plus, avec Heroku, vous pourrez ajouter ces documents supplémentaires au fichier slugignore (http://devcenter.heroku.com/articles/slug-compiler) pour qu'ils ne soient pas compilés dans le slug.

+0

Qu'entendez-vous par problèmes de confidentialité? Ils sont inclus dans le contrôle de la source avec les autres fichiers, donc toute personne ayant accès au repo verra les fichiers (sauf si vous avez un contrôle d'accès en place). À moins que vous ne vous en éloigniez, votre application laissera ces fichiers seuls (c'est-à-dire les empêchera d'être servis à un utilisateur). Et last but not least, si vous mettez les fichiers dans le .slugignore (sur Heroku, ne sais pas si Engine Yard a quelque chose de similaire), il n'augmentera pas la taille de votre slug (ce qui est lié à la vitesse de nouveaux dynos être lancé pour votre application). –