-1

Я - шоу одного человека, разработав и обработав новый пользовательский CRM, настроенный для наших потребностей в бизнесе за последние полтора года. Мне было приятно посоветоваться с опытным разработчиком в течение 25 лет.Как эффективно быть разработчиком из 1 человека?

Из-за бюджетных ограничений у меня больше нет доступа к его помощи (пока) и нет опыта подготовки к живому развертыванию. (ничего сейчас не живут)

Я в настоящее время создание производственного сервера (мучительно) и был в состоянии получить его и работает и в настоящее время миграции данных через, получение OPcache настройки и т.д ..

Одна вещь, которую он сказал мне, было бы:

  • Local Host (где я делаю свою работу)
  • Развитие сервера (где я развернуть и протестировать свои изменения)
  • производства п на сервере (где я раздвинуть живые изменения тоже)

Вопрос 1) Прямо сейчас, у меня есть сервер Dev и сервер производства. Основываясь на вашем опыте, нужен «Локальный сервер -> Сервер Dev» процесс, действительно необходимый для шоу 1-Man? Почему бы просто не выполнить мою работу и не проверить мои изменения в dev-сервере? Просьба привести несколько примеров общих практик.

Вопрос 2) Когда дело доходит до развертывания изменений на производственном сервере, каковы некоторые общие способы, основанные на вашем опыте, чтобы сделать это?

Вопрос 3) Устранение вопроса 2, что происходит, когда у меня возникает непосредственная проблема. Мне также нужно применить «горячее исправление»?

Вопрос 4)Наконец, что некоторые наиболее часто встречающиеся способы отслеживания версий на основе вашего опыта? Я рассматривал возможность использования GitHub.

+0

@epascarello этот вопрос плохо подходит для программистов - он будет быстро проголосовать и закрыт там, см. Http://meta.programmers.stackexchange.com/questions/6483/why-was-my-question- закрыто или проголосовано/6490 # 6490 Рекомендуемое чтение: ** [Что происходит с Programmers.SE? Руководство по переполнению стека] (http://meta.programmers.stackexchange.com/q/7182/31260) ** – gnat

+0

@gnat, хотя этот вопрос может стимулировать ответы, которые в основном основаны на мнениях, общем подходе или на по крайней мере, «путь» был моим намерением. Можно ли переформулировать этот вопрос? –

ответ

0

Я собираюсь предположить, что три среды:

Development --> Test ---> Production 

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

Вопрос 1) Всегда необходимо проверить свой код. Последнее, что вы хотите сделать, - это нажать непроверенный код в производство - бизнес вашего клиента опирается на эту систему, а нажатие непроверенного кода - отличный способ разрушить этот бизнес.

Возможно, вы сбиваете с толку тестирование приложений с интеграционным тестированием. При «показе одного человека» интеграционных тестов не может быть, но вам все равно нужно проверить свой код и процесс развертывания. Среда тестирования также полезна для того, чтобы пользователи могли попробовать ваши исправления/исправления ошибок, чтобы они соответствовали их потребностям.

Вопрос 2) Предполагается, что вы развертываете приложение PHP. Вы можете прочитать this question, чтобы получить некоторые идеи, но они старые.В общем, это становится очень субъективным вопросом с множеством различных инструментов и мнений; StackExchange не является местом для таких дебатов.

Вопрос 3) Вы используете исходный код, позволяющий создавать несколько копий вашего дерева кодов, по одному для каждого «горячего исправления» или «улучшения» по мере необходимости. Когда исправление выполнено, протестировано и успешно перенесено в производство, вы можете удалить дерево каталогов hotfix.

Вопрос 4) Опять же, вы используете контроль исходного кода. Вы можете запускать Git локально с помощью GitHub или нет, или выбрать Mercurial, Subversion или другие. Выбор SCM является дискуссионным (и не является подходящей темой для StackExchange), но использование управления исходным кодом решает требования к версии.