общая папка ec2 - PullRequest
       9

общая папка ec2

2 голосов
/ 20 июня 2011

Надеюсь, этот вопрос ранее не задавался, хотя я искал и ничего не нашел по строкам, как эта ...

Прежде всего, моя проблема: у меня 2 экземпляра EC2 linux, работающих за эластичнымЗагрузите Balencer.это работает хорошо!очень рад этому.

Мои проблемы начинаются, когда дело доходит до размещения / обновления кода приложения на серверах.на данный момент я буквально изменяю код на моей локальной машине.заархивировать его, загрузить на мой личный хост, а затем Wget'ing вниз на каждый экземпляр ec2 и разархивировать.

Есть ли более простой способ сделать это?Могу ли я создать какую-то общую папку, которая будет охватывать оба экземпляра?

Вкратце: как проще всего обновить мой корень WWW на 2 серверах?

Большое спасибо,

Том.

Ответы [ 3 ]

4 голосов
/ 20 июня 2011

1. Одним из способов решения этой проблемы является использование непрерывной интеграции , которая может передавать файлы с помощью rsync и создавать проект на серверах, это не простоеще.

Доступно множество плагинов (PHPUnit, охват кода, анализ кода и т. Д.):

Дженкинс

Как:

  1. Установить Jenkins
  2. Сконфигурировать ваш проект (возможно, ваш код должен быть в какой-то системе код-версии) с Jenkins
    1. Сконфигурировать серверы, проект-path, pre-job, post-job и т. д.
  3. Расписание работы / задания.
  4. Все, готово.

Ссылка:

  1. Конфигурация:
    1. Настройка - ex.1
    2. Начальная конфигурация
      1. Настройка заданий
  2. http://agile.dzone.com/news/continuous-integration-php

2. Вам нужноконтроль версий кода, он помогает поддерживать стабильный код и обеспечивает его одинаковую доставку во всех средах.

Доступны две основные версии системы: одна - Git & Subversion

Что можно сделать (дляВаша ситуация):

  1. Создание репозитория
  2. Создание проекта внутри репозитория
  3. Скопируйте весь ваш код в этот проект с помощью svn add <files> &svn commit .
  4. Войдите в систему на вашем компьютере EC2.
  5. Запустите svn checkout <repository-url-to-project>, чтобы получить код на машине.

, если у вас есть обновления / изменения взатем любой файл:

  1. Вы можете зафиксировать (добавить) некоторые изменения в своем хранилище.
  2. Запустить svn update <modified-or-newly-created-file-path> на компьютере, где вы получили свой код из хранилища.

Выполните следующие действия на любом другом компьютере EC2.

Cheatsheet

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

0 голосов
/ 20 июля 2016
@tornup

это более жизнеспособное решение.если вы не знакомы с Jenkins или Puppet, вы можете сделать следующее:

перейдите на bitbucket.com и запустите репозиторий

создайте там репозиторий

отправьте ваш локальный исходный код в этот репозиторий с помощью sourcetree

с обеих ваших машин, выполните git pull (следуйте инструкциям bitbucket)

после этого измените локальный код, выполните несколько коммитовпротестируйте его

, затем перейдите на оба сервера и выполните команду git pull

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

push из локального репозитория Bitbucket

После завершения этой настройки попробуйтеpuppet или jenkins* - марионетка больше подходит для стоящих серверов.

0 голосов
/ 20 июня 2011

Используйте инструмент, такой как Puppet , для поддержки конфигурации вашего сервера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...