Git push после фиксации svn для автоматического развертывания на Heroku?
Я пытаюсь реализовать очень простую систему автоматического развертывания для моей команды.
Наш код живет в репо SVN, но я использую heroku для развертывания своего приложения (которое использует GIT)
В настоящее время я делаю следующее локально:
svn update
git add .
git commit -m "foo"
git push heroku master
Однако я хотел быавтоматизировать этот процесс, так что, когда кто-либо в команде совершает новый код, он автоматически перемещается на heroku и может быть просмотрен на нашем сайте dev.
Есть ли простой способ сделать это? Возможно, создание EC2 например, ssh'ING в него post commit (с помощью скрипта hook) и выполнение вышеуказанных команд? Но это решение кажется слишком сложным..
2 ответа:
Да, это кажется слишком сложным, я бы просто предложил вместо этого окончательное движение к git.
В таком случае у вас будет только один VCS (по крайней мере, для этого проекта), и вы сможете создавать другие полезные сценарии.
Т. е. переносить каждое изменение на Heroku (и использовать его в качестве транспортного уровня) не очень хорошая идея, иногда вам нужно подтолкнуть что-то к товарищам по команде, чтобы разделить незавершенную работу, и совершенно очевидно, что если вы отправите его в таком состоянии в Хероку, ты завалишь свою заявку. Поэтому было бы просто проще иметь один (другой) общий РЕПО (
origin
) и толкать все туда, и только если какая-то важная часть закончена и подтверждена всеми членами команды, вы можете просто с помощью двух строк кода (или с помощью скрипта оболочки) получить новейшее состояние и нажать на Heroku.В настоящее время создание общих репозиториев git-это просто легкая задача. Если у вас есть учетная запись хоста с SSH-доступом, вы можете создать ее с помощью gitolite установка и управление репозиториями и пользователями. И это совершенно бесплатно.
Другая возможность-использование некоторых git-провайдеров, таких какGitHub илиAssambla скорее всего, вы можете найти бесплатные/дешевые планы для размещения небольших проектов.
Может быть, вам стоит взглянуть на SVN post-commit hook : в репозитории сервера SVN вы можете добавить сценарий оболочки с именем
post-commit
вPATH_TO_REPO/hooks/
, который можно запускать после каждого коммита вашей команды.Этот скрипт должен содержать команды git для отправки в heroku.