Рабочий процесс для сайтов git Dev и Live, отправка на удаленный сервер

Во-первых, когда дело доходит до git, я немного новичок.

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

Я пытаюсь понять, как добиться наилучшего рабочего процесса для меня, загрузив файлы на удаленные серверы. Версия сайта в песочнице в настоящее время живет локально, а также загружается на удаленный сайт песочницы, любое тестирование выполняется здесь, и как только мы будем довольны, мы переместим ее на основной сайт. Проверяя любые изменения, переворачивая файлы сайта и обновление файла, затем загрузка.

Теперь я намерен иметь основную ветку «Мастер» и версию ветки «песочница». Это дало бы мне возможность создавать новые ветки для небольших ошибок, объединять их в песочницу по завершении и тестировать.

При моем старом способе работы, поскольку файлы хранились в двух разных местах локально (проверил две версии из репозитория SVN), я мог перейти в Coda и ftp файлы на сервер, когда они будут готовы.

Теперь я предполагаю, что отправка на удаленный сервер будет лучшим вариантом, поскольку ftp-соединение с одним репозиторием вызовет несколько головных болей?

Я использую Tower, который действительно помогает мне в рабочем процессе, но застрял на том, как получить файлы в Интернете. Любая помощь или если мой вопрос не имеет смысла, пожалуйста, кричите...


person jimbo    schedule 02.08.2013    source источник


Ответы (1)


я предлагаю вам разработать локально, нажать на удаленный (например, github), ssh на ваш живой сервер, а затем git вытащить изменения с github на живой сайт.

недавно я использовал трехэтапный процесс:

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

сделайте немного окончательного живого тестирования сайта и повторите.

person xero    schedule 02.08.2013
comment
Спасибо за быстрый ответ, не уверен, что я полностью понимаю, но буду изучать то, что вы говорите. Спасибо - person jimbo; 02.08.2013
comment
взгляните на: help.github.com/articles/post-receive-hooks и jenkins-ci.org надеются, что это поможет! - person xero; 02.08.2013