2017-02-28 1 views
-1

Je travaille sur un référentiel avec d'autres développeurs. Chaque développeur dispose de son propre compte Azure à des fins de test, ce qui signifie que chaque développeur a une chaîne de connexion différente à utiliser pour le développement local. Et pour l'environnement de production, le réglage est différent non plus. Nous utilisons donc un Web.config avec plusieurs paramètres, qui est archivé dans git. Mais je ne veux pas que n'importe quel développeur pousse accidentellement sa chaîne de connexion, donc je l'ai extrait dans un fichier séparé privateDevSettings.config.Ignorer les fichiers de configuration personnels dans git

Web.config:

<appSettings file="privateDevSettings.config"> 
    <add key="generalSetting" value="123" /> 
</appSettings> 

privateDevSettings.config:

<?xml version="1.0"?> 
<appSettings> 
    <add key="azureConString" value="put your personal azure connection string here"/> 
</appSettings> 

Mon idée est que chaque développeur définit leur chaîne de connexion personnelle dans le privateDevSettings.config et en utilisant gitignore pour ce fichier, personne ne vérifie dans leur cadre. Mais apparemment, en ignorant ce fichier, il doit également être retiré du référentiel. Mais je préfère garder le fichier pour que chaque développeur sache quoi faire.

Des solutions à ce problème? Merci.

Répondre

1

Deux suggestions:

1) Au lieu d'utiliser l'existence de privateDeevSettings.config dans le repo pour documenter votre procédure, vous pouvez mettre des commentaires à web.config pour dire au développeur comment faire sa configuration locale. Ensuite, vous pouvez supprimer privateDevSettings.config du dépôt et .gitignore-le (ou juste organiser qu'il vit en dehors de l'arbre de travail repo)

2) Est-ce que vous finissez par emballer cela comme une guerre? Si c'est le cas, le plugin war peut "filtrer" les ressources (interpoler des valeurs comme les chaînes de connexion au moment de la construction). Ainsi, au lieu d'avoir un fichier que vous (la plupart du temps) voulez ignorer, vous pouvez laisser les développeurs définir leur chaîne de connexion via l'environnement, ou un fichier de propriétés complètement en dehors du contrôle de source, ou un certain nombre d'autres options.