2017-01-09 1 views
0

J'ai mon environnement de développement dans Cloud9 et je pousse à Heroku en utilisant git.
J'aimerais que certains dossiers de l'environnement Heroku ne soient pas supprimés par la commande de déploiement.
J'ai donc ajouté ces lignes dans mon fichier .gitignore

Git de ne pas pousser/supprimer le dossier vide

folder/to-ignore1 
folder/to-ignore2 

... et ainsi de suite

Ensuite, je peux créer des contenus dans ces dossiers dans Heroku, pas de problème jusqu'à présent.
Mais quand j'essaie de synchroniser à nouveau mes fichiers dev, git semble supprimer ces dossiers et son contenu.
Je tryied toutes les variations individuelles, comme

/folder/to-ignore1/ 
folder/to-ignore1/ 
/folder/to-ignore1 
folder/to-ignore1 
/folder/to-ignore1/* 
folder/to-ignore1/* 

Mais rien ne semble fonctionner. Chaque déploiement je perds ces fichiers. Observations: J'ai également exécuté les commandes
git rm -r --cached 'files/folders'
. Git lui-même ne doit pas supprimer le dossier non suivi.

Répondre

1

Il ne le fait que s'il y a un git clean -fd exécuté, comme dans ce heroku Rakefile

liste Cloud9 Heroku dans son « Deploying via the Command Line » et fait référence à la Heroku documentation. Vérifiez au cours du processus de déploiement si d'autres commandes (comme un hook post-réception) sont exécutées, ce qui peut expliquer le "nettoyage" effectué sur votre espace de travail distant.

+0

Désolé, je n'ai pas compris. Que dois-je faire pour l'arrêter? Parce que je sais que ça ne devrait pas être le cas, mais j'en ai besoin pour arrêter. –

+0

Mon processus de déploiement est effectué par ces trois commandes: git add. git commit -am "nom-commit" git push maître heroku –

+0

J'ai utilisé la commande git status --ignored pour voir si mes dossiers étaient ignorés et ils le sont en effet. –

0

Voici ce que le personnel heroku m'a dit:

(citation)

Il est bon de rappeler que le système de fichiers Heroku est éphémère - ce qui signifie que toute modification du système de fichiers alors que le dyno est en cours d'exécution que la dernière jusqu'à ce que le dyno soit arrêté ou redémarré. Chaque dyno démarre avec une copie propre du système de fichiers du déploiement le plus récent. Lorsque vous redémarrez l'application, toute modification du système de fichiers sera perdue à mesure que les nouveaux dynos seront démarrés.

Au lieu d'utiliser le système de fichiers pour le stockage persistant, nous vous recommandons d'utiliser un addon de base de données tel que Postgres (pour les données) ou un service de stockage de fichiers dédié tel que AWS S3 (pour les fichiers statiques). Si vous ne voulez pas créer un compte avec AWS pour créer un seau S3 nous avons aussi ici addons qui pourraient répondre à vos besoins https://elements.heroku.com/addons

(fin de citation)

Merci pour les gars d'attention.