Использование системы управления версиями и средства управления разработкой веб-проектов

УДК 519.85

ИСПОЛЬЗОВАНИЕ СИСТЕМЫ УПРАВЛЕНИЯ ВЕРСИЯМИ И СРЕДСТВА УПРАВЛЕНИЯ РАЗРАБОТКОЙ ВЕБ-ПРОЕКТОВ

© О.В. Крючин, К.Р. Хабирова

Ключевые слова: система контроля версий; веб-проекты.

Описана технология разработки веб-проектов, которая использует систему контроля версий. Описаны принципы работы с системой контроля версий Subversion и выгрузкой проекта на FTP-сервер.

ВВЕДЕНИЕ

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

Система управления версиями Subversion [1] использует централизованную модель, в которой имеется единое хранилище кода, управляемое специальным сервером, который и выполняет большую часть функций по управлению версиями. Программист, работающий с исходным кодом, должен сначала получить нужную ему версию из хранилища, для чего обычно создается локальная копия (т. н. «рабочая копия»). При этом может быть получена последняя версия или любая из предыдущих, которая может быть выбрана по номеру версии, дате создания или по другим признакам. После того, как в исходный код внесены нужные изменения, новая версия помещается в хранилище. В отличие от простого сохранения файла предыдущая версия не стирается, но остается в хранилище и может быть получена оттуда в любое время. Сервер Subversion (SVN-сервер) использует т. н. дельта-компрессию (способ хранения документов, при котором сохраняются только изменения между последовательными версиями), что позволяет уменьшить объем хранимых данных. Поскольку обычно наиболее востребованной является последняя версия файла, Subversion при сохранении новой версии сохраняет ее целиком, заменяя в хранилище последнюю ранее сохраненную версию на разницу между этой и последней версией.

Часто бывает, что над одним проектом одновременно работают несколько человек. Если два человека изменяют один и тот же файл, то один из них может случайно отменить изменения, сделанные другим. Subversion отслеживает такие конфликты и предлагает средства их решения. Subversion может автоматически объединить (слить) изменения, сделанные разными разра-

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

Целью данной работы является создание технологии разработки веб-проектов с использованием системы контроля версий Subversion и автоматизированных средств написания и отладки кода.

ИСПОЛЬЗОВАНИЕ SVN-КЛИЕНТА ДЛЯ РАБОТЫ С СИСТЕМОЙ КОНТРОЛЯ ВЕРСИЙ SUBVERSION

Для работы с системой контроля версий Subversion необходим SVN-клиент, который может быть установлен из репозиториев средствами операционной системы. При использовании операционной системы SuSE установка SVN-клиента осуществляется командой zyp-per in subversion, при использовании Mandriva (РОСА/Mageia) - командой urpmi subverion, а при использовании операционной системы Debian - apt-get install subversion. Для выгрузки исходного кода проекта из репозитория необходимо выполнить команду svn checkout. Для рассматриваемого здесь примера данная команда будет выглядеть следующим образом:

svn checkout https://subversion.assembla.com/svn/crv-sis./

Первым аргументом данной команды является адрес репозитория (а вторым - путь к локальному каталогу). Для его получения необходимо зайти на сайт системы управления версиями Assembla (https://www.as-sembla.com/home). После регистрации программист получает на почту приглашение, пройдя по которому он становится участником проекта. После этого нужно нажать на «My start», затем выбрать название своего проекта (в данном примере это «crv-sis»). Далее следует нажать на ссылку «SVN» и скопировать выделенную на рис. 1 строку.

Рис. 1. Снимок экрана с веб-интерфейсом к системе контроля версий Assembla

Использование среды М&Бват для разработки проекта и его выгрузки на ПР-сервер. В качестве среды разработки рекомендуется использовать Beans, который предварительно необходимо настроить. Для этого нужно нажать «Файл->Создать проект» и

выбрать «Приложение PHP с существующими исходными кодами» (рис. 2).

Для указания папки источников необходимо нажать на кнопку «Далее» и выбрать необходимый каталог, как это показано на рис. 3 (для рассматриваемого в данной работе примера это каталог interface).

Рис. 2. Снимок экрана с созданием нового проекта в среде NetBeans

Рис. 3. Снимок экрана с выбором папки с источниками проекта в среде NetBeans 608

В поле «Имя проекта» автоматически заносится его название (в данном примере это «interface»). После этого следует нажать на кнопку «Далее» и в поле «Выполнение» выбрать «Удаленный веб-сайт». В строке «Выгрузить файлы» нужно выбрать значение «При сохранении» (рис. 4), что приведет к автоматической выгрузке сохраняемых файлов.

Для настройки удаленного подключения следует нажать кнопку «Управление», что вызовет открытие окна с настройками подключения.

Для добавления нового подключения следует нажать кнопку «Добавить» (рис. 5).

Следует указать имя подключения (в рассматриваемом примере это «Google»), а тип подключения следует изменить на SFTP. После нажатия на кнопку «ОК» необходимо заполнить поля: «Имя узла» (в рассматриваемом примере unidep.ru), «Имя пользователя» (в рассматриваемом примере crvsis), «Пароль» и «Начальный каталог» (в рассматриваемом примере /home/ kryuch/www/crvsis.umdep.ru). В рассматриваемом примере настройки выглядят так, как это показано на рис. 6.

После заполнения следует нажать на кнопку «Проверить подключение», и в случае успешного заполнения всех полей должно появиться окно, сообщающее, что «Подключение успешно установлено» (рис. 7).

Рис. 4. Снимок экрана с настройками проекта в среде NetBeans

Рис. 5. Снимок экрана с создания нового подключения в среде NetBeans

Рис. 6. Снимок экрана с настройками подключения к FTP-серверу в среде NetBeans

Рис. 7. Снимок экрана с разработкой проекта в среде NetBeans

После изменения следует нажать «CTR-S» для сохранения и выгрузки (после этого на папке может появиться восклицательный знак, в этом случае следует нажать правой кнопкой мыши по папке и выбрать «SVN COMMIT»). Теперь можно зайти на сайт и проследить изменения.

ИСПОЛЬЗОВАНИЕ ОПЕРАЦИОННОЙ СИСТЕМЫ MICROSOT WINDOWS

При использовании операционной системы MS Windows необходимо скачать требуемые программы с официальных сайтов, в частности, необходима платформа Java (http://www.orade.com/technetwork/java/java-se/downloads/index.html). На ее сайте следует выбрать «Java Platform (JDK) 7u40», согласиться с условиями и

указать тип используемой операционной системы (как это показано на рис. 8).

Среду разработки NetBeans также следует скачать с официального сайта (https://netbeans.org), при этом достаточно скачать вариант, поддерживающий HTML5 и PHP, для этого следует выбрать пункт, отмеченный на рис. 9.

В качестве З^-клиента рекомендуется использовать программу TortuesSVN (http://tortoisesvn.net). После ее установки следует зайти в папку, в которой будет находиться проект, нажать правой кнопкой мыши и выбрать «SVN ^еекоиЬ). Появится окно, показанное на рис. 10.

После нажатия на кнопку «Ок» начинается выгрузка проекта.

Product / File Description File Size Download

Linux ARM V6A/7 VFP Hard Float ABI 67.62 MB ± jdk-7u40-linux-arm-vfp-hflt.tar.gz

Linux ARM V6A/7 VFP Soft Float ABI 67.62 MB ± jdk-7u40-linux-arm-vfp-sflt.tar. gz

Linux x86 115.55 MB ♦ jdk-7u40-linux-i586.rpm

Linux x86 132.83 MB ± jdk-7u40-linux-i586.tar.gz

Linux x64 116.83 MB ± jdk-7u40-linux-x64.rpm

Linux x64 131.63 MB ± jdk-7u40-linux-x64.tar.gz

Mac OS X x64 183.35 MB ± jdk-7u40-macosx-x64.dmg

Solaris x86 (SVR4 package) 139.84 MB ± jdk-7u40-solaris-i586.tar.Z

Solans x86 95.29 MB ± jdk-7u40-solaris-i586.tar.gz

Solaris x64 (SVR4 package) 24.43 MB ± jdk-7u40-solaris-x64.tar.Z

Solaris x64 16.17MB ± jdk-7u40-solaris-x64.tar.gz

Solaris SPARC (SVR4 package) 139.06 MB ± jdk-7u40-solaris-sparc.tar.Z

Solaris SPARC 98.07 MB ± jdk-7u40-solaris-sparc.tar.gz

Solaris SPARC 64-bit (SVR4 package) 23.74 MB ± jdk-7u40-solaris-sparcv9.tar.Z

Solaris SPARC 64-bit 18.18MB ♦ jdk-7u40-solaris-sparcv9.tar.gz

125.25 MB ♦ jaK-7u40-winaows-xbl exe ч

Рис. 8. Снимок экрана с выбором JDK для операционной системы MS Windows x64

Сборки интегрированной со

Поддерживаемые технологии Java SE Java EE C/C++ PHP Ж All

Пакет SDK платформы NetBeans • • •

Java SE • • •

Java FX • • •

Ф Java EE • •

Ф Java ME •

Ф HTML5 • • •

1 Java Card(tm) 3 Connected \ •

Ф C/C++ • •

Ф Groovy •

Ф PHP • •

Поставляемые серверы

GlassFish Server Open Source Edition 4.0 • •

Ф Apache Tomcat 7.0.34 • •

Бесплатно, Бесплатно, Бесплатно, тесплатнож Бесплатно, 81 MB 204 MB 52 MB ІЩМ/ 224 MB

* Вы можете добавить или удалить компоненты позднее с помощью менеджера плагинов среды (Tools | Plugins).

Важная юридическая информация:

Рис. 9. Снимок экрана с выбором дистрибутива среды разработки NetBeans

Рис. 10. Снимок экрана с выгрузкой проекта при помощи ЗИУ-клиента TortuesSVN

ЗАКЛЮЧЕНИЕ

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

ЛИТЕРАТУРА

1. Коллинз-Сассман Б., Фицпатрик Б.У., Пилато К.М. Управление версиями в Subversion. URL: http://svnbook.red-bean.com/in-

dex.en.html. Загл. с экрана.

Поступила в редакцию 20 ноября 2013 г.

Kryuchin O.V., Khabirova K.R. USE OF VERSION CONTROL SYSTEM AND CONTROL MEANS OF WEB DEVELOPMENT

The technology of development of web projects, which uses a version control system, is described. The principles of working with version control system Subversion project and unloading on FTP-server are given.

Key words: version control system; web projects.

Крючин Олег Владимирович, Тамбовский государственный университет им. Г.Р. Державина, г. Тамбов, Российская Федерация, магистрант по направлению подготовки «Прикладная математика и информатика» института математики, физики и информатики, e-mail: kryuchov@gmail.com

Kryuchin Oleg Vladimirovich, Tambov State University named after G.R. Derzhavin, Tambov, Russian Federation, Candidate for Master’s Degree of Direction of Preparation of “Applied Mathematics and Informatics” of Mathematics, Physics and Informatics Institute, e-mail: kryuchov@gmail.com

Хабирова Кристина Раильевна, Тамбовский государственный университет им. Г.Р. Державина, г. Тамбов, Российская Федерация, студентка специальности «Прикладная математика и информатика» института математики, физики и информатики, e-mail: kryuchov@gmail.com

Khabirova Kristina Railyevna, Tambov State University named after G.R. Derzhavin, Tambov, Russian Federation, Student of “Applied Mathematics and Informatics” Specialty of Mathematics, Physics and Informatics Institute, e-mail: kryu-chov@gmail.com