развертывание отдельного файла git на сервер - PullRequest
3 голосов
/ 04 июля 2011

Я использую Capistrano для развертывания приложения rails; Как можно обновить один файл на сервере, не создавая новую версию?

Например:

Предположим, я внес изменения только в мой UserController.rb. и отправил его на сервер git, как я должен получить это обновление на сервере, не делая новое развертывание.

Ответы [ 3 ]

11 голосов
/ 03 августа 2011

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

cap -e deploy:upload

В вашем случае это, вероятно, будет выглядеть так:

cap deploy:upload FILES='app/controllers/UserController.rb'

Youвозможно, придется перезапустить ваше приложение

cap deploy:restart
2 голосов
/ 05 июля 2011

Вы должны сделать новый выпуск через Capistrano.

Цель инструмента развертывания - дать вам повторяемые результаты и помочь вам отслеживать то, что вы развернули.Обход этого процесса для небольшого исправления означает, что вы потеряете оба эти преимущества.Если вы считаете, что запуск всего процесса развертывания для простого изменения является излишним, тогда вам, вероятно, следует поработать над оптимизацией процесса (или убедиться, что вам никогда не придется выполнять простое исправление - удачи вам!).

Прагматично, я уверен, что многие люди просто отредактируют файл вручную на сервере.Не рекомендуется по причинам, указанным выше.Если вы считаете, что компромисс стоит того, вот ваш звонок:).

Как заявление об отказе: я не разработчик ruby, и я никогда не использовал Capistrano, мой совет скорее общий, чем конкретныйк этим технологиям.Может быть, есть особый способ проталкивать небольшие изменения через систему - если это так, я бы ожидал ответ, указывающий на это ...

0 голосов
/ 27 июля 2015

Задача cap deploy:upload больше не существует в Capistrano 3.
Вы можете добавить этот камень https://github.com/Reiknistofa/capistrano-upload, чтобы вернуть его.

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