обновить файлы с локального на удаленный с помощью git и capistrano - PullRequest
0 голосов
/ 21 марта 2012

Я развернул свое приложение на удаленном сервере с capistrano и git.Я новичок с capistrano и git, и мой вопрос:

например,

Я делаю изменения и добавляю код в любой файл из моего локального проекта, например, изменить 2 строки в контроллере или моделиили посмотреть или css или js или rout.rb или devise.rb ... и т. д.

до того, как у меня был ftp и заменить файлы через ftp, я вижу, что этот способ не подходит для rails.

Я хочу знать, как я могу отправить эти изменения в мое производственное удаленное приложение на моем удаленном VPS-сервере.

Я попытался:

cap deploy

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

Я не знаю, должно ли это быть с capistrano или с git. Например, я использую git:

git remote add origin user@ip.ip.ip.ip/~/project
git push origin master

Это возможно использоватькод для развертывания изменений в производственном приложении на удаленном сервере?или я использую capistrano для внесения изменений в приложение на производственном сервере?

Извините за мое невежество, но я новичок с рельсами и capistrano и git.

Спасибо

1 Ответ

0 голосов
/ 21 марта 2012

Вы можете развернуть код, используя либо сам git, либо capistrano (вместе с git).

Используя просто Git

  1. Вам нужно только запустить "git remote add origin origin user@ ip.ip.ip.ip / ~ / project "один раз, после этого ваши настройки уже сохранены.Если вы хотите просмотреть свои удаленные репозитории git, просто наберите «git remote»
  2. После того, как вы внесли изменения и запустите git commit (я полагаю, вы уже знаете, как это сделать), затем запустите «git push originmaster ", чтобы отправить все ваши изменения в удаленный репозиторий.
  3. Теперь SSH к вашему удаленному серверу, например," ssh myuser@mydomain.com "(для Mac) или использование Putty (для Windows)
  4. После входа на удаленный сервер перейдите в корневую папку вашего приложения.
    • если вы никогда ранее не клонировали свое git-репо на удаленный сервер, вам сначала нужно будет запустить «git clone»
    • , в противном случае просто запустите «git pull origin master».Это позволит получить и перенести изменения, начиная с шага 2 выше, на ваш удаленный сервер.И теперь вы закончили!

Преимущество: этот подход только переносит ваши последние изменения на удаленный сервер, поэтому он намного быстрее.

Недостаток:Вы должны вручную запустить множество команд для SSH к серверу и git pull.

Использование Capistrano

  1. Вы упоминаете, что можете запустить «cap deploy», поэтому я предполагаю, что ваши настройки Capistranoхорошо.Этот подход медленнее, потому что он тянет ваш последний коммит (и, возможно, весь ваш git-репо) при развертывании.
  2. Если вы хотите ускорить развертывание Capistrano, вы можете добавить следующее к вашему развертыванию.гь.Это сохраняет копию вашего git-репо на удаленном сервере, а не выполняет полное клонирование git при каждом развертывании.

    set: deploy_via,: remote_cache

Преимущество: простовведите «cap deploy», и развертывание происходит (плюс все преимущества capistrano в откате развертывания и т. д.)

Недостаток: медленнее, чем просто git pull.

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