Настройка среды совместной работы для разработки веб-приложений - PullRequest
2 голосов
/ 26 октября 2011

Мой офис растет, и мне было поручено создать ИТ для нашей веб-разработки.

Какой лучший инструмент / настройка для веб-разработки в групповой настройке? Требованиями являются централизованное хранилище кода, место для тестирования кода разработки и, наконец, способ отправки кода с тегами на промежуточный сервер. Я думаю, что svn / redmine для репозитория кода - у каждого пользователя есть учетная запись на центральном компьютере разработки, чтобы обеспечить доступ по ssh (eclipse over ssh), и собственный виртуальный хост на сервере dev, который предоставляет всем централизованную изолированную программную среду разработки. Код написан и протестирован на этом модуле разработки, затем возвращен обратно в svn, а затем помечен и отправлен на промежуточный сервер. Да уж? Мысли, комментарии или рекомендации?

* Кроме того, как лучше всего обрабатывать базы данных в среде разработчиков? Разумно ли вытащить из производственной базы данных? Кроме того, каждый разработчик должен иметь свою собственную базу данных или работать с главной базой данных?

** Мы создаем приложение magento, а также имеем несколько собственных инструментов для backoffice, которые работают на cakePHP.

1 Ответ

2 голосов
/ 26 октября 2011

Хотя эта тема не по теме в StackOverflow и помечена таким образом, вам необходимо сосредоточиться на следующих областях:

VERSION-CONTROL

  • GIT обладает всей славой, и вы надеваетеДля этого вам не нужен собственный ящик, так как https://bitbucket.org/ предлагает неограниченное количество данных и частные / публичные репозитории, и вы можете установить там свою базу кода.http://github.com также является мощным и де-факто самым популярным инструментом, ориентированным на управление версиями, хотя он и предлагается за небольшую цену
  • , поэтому ваши главные ветки живут в вашем контроле версий, а ваши разработчики будут извлекать из них frpomи также сделайте это
  • ваши инструменты развертывания будут развертывать данные в вашей оперативной и промежуточной средах с вашего главного

ОКРУЖАЮЩАЯ СРЕДА

  • обычно используются триLIVE, STAGE, DEV
  • LIVE хорошо функционирует и там развертывается только одобренный код
  • STAGE - это предварительная среда и должна быть точной копией среды в соответствии с LIVE, так что все вещи можно протестировать тамот продавца
  • DEV - это круто иметь точную копию, но он также может быть в местных разработчиках и предназначен для свободного тестирования и экспериментов

БАЗЫ ДАННЫХ И РАЗВЕРТЫВАНИЕ

  • Базы данных mysql - трудная задача для синхронизации, так что вам лучше иметь скрипт для него, который синхронизирует их с живыми и предотвращаетСинхронизация из других сред, чтобы жить.Это ограничение также требует, чтобы вся конфигурация и контент были добавлены только из LIVE и только затем синхронизированы по линии.Каждое изменение в схеме или постоянном параметре должно обрабатываться сценариями обновления (поскольку мы говорим о MAGENTO CE, в MAGENTO EE встроена миграция)
  • для развертывания. Я также предлагаю вам создать сценарий фабрики или capistrano, который сбрасывает devи промежуточные среды, выполняет сброс и извлечение базы данных из LIVE DB, а также импортирует код из центрального хранилища.

также неплохо бы нацеливаться на следующие повседневные задачи:

  • клиентам необходимо сбросить этап для своих тестов
  • менеджер проекта, разработчик илитестерам нужно тестировать, поэтому создание тестового клона должно быть одним щелчком мыши (взять текущую базу данных и код и перенести ее в некоторую подпапку только для конкретного теста), а также удалить тест
  • сторонним разработчикам может потребоваться доступ кспецифическая среда тестирования или разработки (это актуально для magento, так как в среднем в каждом магазине magento установлено не менее 10 внешних расширений)
...