2009-10-12 8 views
1

Que recommanderiez-vous comme bonnes références pour configurer un serveur de test (xampp on xp pro), un serveur de transfert et un serveur de production tout en ayant svn? Je suis un fervent du développement "hardcore" mais je veux commencer du bon pied et mettre en place mes environnements comme le font les pros. J'ai plusieurs projets à venir et je veux faire deux pas en avant au lieu d'un pas en avant et deux en arrière. Mes principaux domaines de moindre compréhension sont ... garder les chemins de fichiers corrects entre tous les serveurs et bases de données (traitant de localhost/site.com/file.html vs www.site.com/file.com), en poussant les mises à jour à le serveur suivant - test de mise en scène en production, ainsi que l'utilisation de svn (nous aurons plusieurs personnes travaillant sur les mêmes projets en même temps).Configurer des références de serveur de développement

Chaque projet aura un seul serveur, donc l'information sur l'équilibrage de charge et la configuration de plusieurs serveurs n'est pas nécessaire. Nous prévoyons également d'utiliser netbeans ou eclipse pour svn, sauf indication contraire.

Les serveurs de production et de transfert seront LAMP tandis que les tests seront xampp sur xp pro. Merci pour votre aide!

Répondre

1

En réponse à la demande du Tchad pour plus d'exemples des dossiers d'environnement & fichiers de configuration, est plus d'infos ici:

Nous avons tous les paramètres utilisés par le projet divisé en fichiers de configuration; nous construisons des sites Web, donc ces fichiers de configuration sont référencés à partir du web.config.

Par exemple, dans notre dossier de configuration, nous avons un ConnectionStrings.config avec cela à l'intérieur (remplissant vos informations au lieu des [] s bien sûr):

<connectionStrings> 
    <add name="APP" 
     connectionString="Data Source=[];Initial Catalog=[];uid=[];password=[]" 
     providerName="System.Data.SqlClient" /> 
</connectionStrings> 

chemin d'accès est:

Site root 
|--> Configuration 

il est référencé dans la configuration web avec ceci:

<connectionStrings configSource="Configuration\ConnectionStrings.config" /> 

donc, dans notre solution dossier que nous aurions cette structure:

Solution folder 
|--> Environments 
    |--> Development 
    |-->Configuration 
     |--> ConnectionStrings.config 
    |--> Production 
    |-->Configuration 
     |--> ConnectionStrings.config 
    |--> Staging 
    |-->Configuration 
     |--> ConnectionStrings.config 
|--> Src 
    |--> Project folder (site root) 
    |--> Configuration 
     |--> ConnectionStrings.config 

Même chose avec les autres paramètres, normalement mis dans notre appSettings.config. Donc, les choses comme les chemins d'accès aux fichiers ou tout autre paramètre qui changerait.

<appSettings> 
    <add key="FilePath" value="C:\FileStorage"/> 
</appSettings> 
1

3 parties à votre question:

1) Différences de fichier de configuration entre les serveurs - nous avons des dossiers de l'environnement dans notre projet que nous stockons les fichiers de configuration pour pouvoir conserver plusieurs versions.

Donc, comme:

Solution folder 
    |--> Environment 
     |--> Development 
     |--> Staging 
     |--> Production 
    |--> Src 
     |--> Project folders 

Nos scripts de compilation sont ensuite construits pour accepter un paramètre pour l'environnement et tirer le dossier environnement correct, remplacer les fichiers d'origine comme il les déploie.

2) Pousser le code change pour les serveurs d'environnement - dans SVN, nous avons mis en place des branches par environnement pour chaque projet. Donc, comme:

SVN Root 
|--> Project 
    |--> Branches 
    |--> RB-Development 
    |--> RB-Staging 
    |--> Trunk 

tronc étant notre code de production.

Nous créons également une nouvelle branche pour chaque ensemble de fonctionnalités sur lequel nous travaillons. Ensuite, lorsque vous êtes prêt à déployer nous le fusionner à la branche de l'environnement correct; un outil de construction surveille ces branches d'environnement et se déploie automatiquement sur la branche correcte lorsque le code est validé.

3) Plusieurs personnes utilisant SVN - créez des branches du projet pour chaque jeu de fonctions vertical sur lequel vous allez travailler. Donc, pour une application de type panier, vous auriez des fonctionnalités sur le client, les produits, la commande, etc ... cela réduira le nombre de personnes travaillant sur la même branche en même temps. Ensuite, fusionnez le code nécessaire entre ces branches et entre elles ou avec les branches d'environnement. Cela semble plus compliqué que c'est vraiment.

+0

Salut Carlton, Avez-vous des exemples de vos dossiers d'environnement/fichiers de configuration que vous pourriez partager? Je ne suis pas exactement sûr de ce qui devrait y aller. Merci pour votre contribution! – user387990

-1

Bien. Avoir votre application stocker le développement et la configuration de production. Des choses comme l'accès à la base de données et les chemins. Il n'y a aucune raison pour garder mêmes chemins pour les différents serveurs (surtout si vous mélangez unix et windows)

Questions connexes