ec2 dossier partagé www

Heureusement, cette question n’a pas été posée auparavant, bien que j’ai cherché et j’ai trouvé que rien

Tout d’abord, mon problème: j’ai 2 instances linux EC2 fonctionnant derrière un équilibreur de charge élastique. ça marche bien! très heureux avec elle.

Mes problèmes commencent quand il s’agit de placer / mettre à jour le code de l’application sur les serveurs. En ce moment, je suis en train de modifier le code sur ma machine locale. en le compressant, en le téléchargeant sur mon hôte personnel, puis en descendant sur chaque instance ec2 et en décompressant ..

Y a-t-il un moyen plus facile de le faire? Est-ce que je peux créer une sorte de dossier partagé couvrant les deux instances?

En bref: quel est le moyen le plus simple de mettre à jour ma racine WWW sur 2 serveurs?

Merci beaucoup,

À M.

1. La seule façon de résoudre ce problème consiste à utiliser une continuous integration qui peut transférer vos fichiers avec rsync et créer le projet sur les serveurs. Ce n’est pas encore le cas.

Il y a pas mal de plugins disponibles (PHPUnit, Code Coverage, Code Analysis, etc.):

Jenkins

Comment:

  1. Installez Jenkins
  2. Configurez votre projet (vous devez probablement coder dans un système de version de code) avec Jenkins
    1. Configurez les serveurs, le chemin de projet, le pré-job, le post-job, etc.
  3. Planifier le travail / travail.
  4. C’est ça, fait.

Référence:

  1. Configuration:
    1. configuration – ex.1
    2. Configuration initiale
      1. Configuration des jobs
  2. http://agile.dzone.com/news/continuous-integration-php

2. Vous avez besoin d’un contrôle de version de code, cela vous aide à maintenir un code stable et à les diffuser de manière égale dans tous les environnements.

Il existe deux versions principales du système disponible: Git & Subversion

Que peut-on faire (pour votre situation):

  1. Créer un référentiel
  2. Créer un projet dans le référentiel
  3. Videz tout votre code dans ce projet avec svn add & svn commit .
  4. Connectez-vous à votre machine EC2.
  5. Exécutez svn checkout qui récupérera le code sur la machine.

Si vous avez des mises à jour / modifications apscopes à un fichier, alors:

  1. Vous pouvez valider (append) des modifications dans votre référentiel.
  2. Exécutez svn update sur la machine où votre code est extrait du référentiel.

Suivez ces étapes dans toute autre machine EC2.

Cheatsheet

GIT – http://help.github.com/git-cheat-sheets/ SVN – http://www.abbeyworkshop.com/howto/misc/svn01/

Utilisez un outil tel que Puppet pour gérer vos configurations de serveur.

 @tornup 

c’est une solution plus viable. Si vous ne connaissez pas Jenkins ou Puppet vous pouvez le faire comme suit:

allez sur bitbucket.com et lancez un repository

créer un repository là-bas

poussez votre code source local vers ce référentiel avec sourcetree

à partir de vos deux machines, effectuez un git pull sort (suivez les instructions du bitbucket)

après cela, modifiez votre code local, faites plusieurs commits pour le tester

puis allez à la fois sur vos serveurs et émettez git pull

 ........................................ bitbucket.repo/your main source ...........local...server1.server2 share the same source as bitbucket repo 

repousser du repo local au bitbucket repo

Une fois que vous avez terminé avec cette configuration, essayez puppet ou jenkins* – puppet est plus pour les serveurs debout.