Бесплатный Subversion сервер для работы с Google App Engine
Август 3rd, 2008Практически не бывает таких случаев, когда нет смысла вести разработку приложения без использования какой-либо системы управления версиями кода. В этой статье мы рассмотрим наиболее распространенную систему Subversion (или сокращенно SVN) и возможность использования ее в процессе создания приложения платформы Google App Engine.
Несмотря на то, что App Engine позволяет гибко настраивать работу одновременно нескольких версий приложений, участвовать в процессе его создания сразу многим разработчикам, все таки версионные возможности платформы пока достаточно ограничены. Для удобной работы с кодом компания Google рекомендует использовать внешнюю систему управления версиями, такую как CVS или Subversion. Так как программа CVS по меркам ИТ является уже старичком, мы сфокусируемся на ее потомке – Subversion, который в данный момент является наиболее распространенной системой контроля версий среди разработчиков.
Допустим вы (разработчик на языке Python) и два ваших коллеги (разработчик на JavaScript и HTML-дизайнер) пишете новое приложение под App Engine, которое должно оказаться новой бомбой в Интернете. Все трое находятся в различных городах, работают на собственных ноутбуках в разных coworking центрах. Соответственно App Engine выбрана платформой неслучайно, а позволяет в случае успеха масштабировать приложение, так как это необходимо (а в случае провала – разработчики рискуют только своим собственным временем, в отличии от многих стартапов, в бизнес плане которых заложены огромные суммы на приобретение серверного оборудования). Было бы интересно использовать аналогичный web-сервис и для размещения кода проекта и управления его версиями.
После анализа текущей ситуации на рынке On-Demand SVN систем я пришел к выводу, что пока самым вкусным вариантом является использование сервиса компании Assembla. Судите сами, в бесплатной версии даются: 200 мегабайт пространства под код, неограниченное число разработчиков, системы управления версиями Subversion, Mercurial, GIT, багтрегинг, wiki, чат и многие другое. В случае необходимости можно проапгрейдить за $12.5 и $150 в месяц до 5 и 50 гигабайт пространства соответственно и получить дополнительные возможности (автоматический бэкап на Amazon S3, поддержку и прочее).
Давайте зарегистрируемся. После чего мы увидим главный экран системы:
Щелкнем по ссылке Manage spaces и на открывшемся экране добавим новую область для проекта, нажав на кнопку Create new space:
Задаем общее название области в поле Space name и используемое URL проекта в поле URL name. Второе значение необходимо указать такое, чтобы никем еще не использовалось. В завершении для активации в этой области сервера Subversion ставим галочку в поле Software developers (integrated), после чего жмем кнопку Next. В появившемся экране убеждаемся, что в параметре Allow for public access стоит значение None (мы же не хотим, чтобы код нашего проекта видели все кто захочет?):
При необходимости можно задать другие параметры, в том числе адреса электронной почты наших коллег, для которых мы хотим отправить приглашения на подключение к этой системе. С помощью кнопки Next >> проходим все установочные экраны и создаем новую область. На экране, представленном ниже, мы видим, что теперь получить доступ к SVN репозиторию можно по url: http://svn.assembla.com/svn/superproject:
Допустим, мы используем Eclipse с установленным плагином для SVN. Если в вашей среде плагин еще не установлен, то можно обратиться к статье о его подключении к Eclipse. Переходим в перспективу SVN и добавляем наш новый репозиторий:
Нам предложат ввести имя пользователя и пароль для доступа к репозиторию. Вводим те данные, которые были указаны при регистрации:
Далее щелкаем кнопку Next и система выполнит загрузку уже существующих файлов:
Далее мы захотим поместить в наш репозиторий унаследованные проекты, которые мы раньше не вели в системе управления версиями. Щелкнем правой кнопкой мыши на области SVN Repositories и выбираем пункт New remote folder. Указываем название базового каталога, где будет храниться наш проект (к примеру, site.ru). Затем щелкнув по вновь созданному каналогу правой кнопкой мыши, выбрем из меню пункт Import. В появившемся окне задаем каталог с проектом и, при необходимости, дополнительные параметры:
Началась операция загрузки:
Проверим на другом компьютере, что файлы были загружены в SVN. Например, выполняем команду checkout: svn co http://svn.assembla.com/svn/superproject –username widgetii:
Все OK, теперь мы можем использовать свой собственный SVN сервер, не заморачиваясь с его настройкой и поддержанием работы.









