Assembla. Обзор
Данный обзор не технический и не рекламная акция в пользу Assembla. Я лишь хочу поделиться опытом использования этого ресурса, насколько все просто и легко все организованно.
Как я дошел до этого ресурса
Когда я более-менее стал писать программы, возникло желание делать это при любой возможности. Дома со стационарного компьютера, с ноутбука, с рабочего, да в целом с любого компьютера, где стоял подходящий IDE(Integrated Development Environment). Но тут возникает несколько проблем:
- Как вести работу с последней версией кода
- Как это потом синхронизировать с остальными компьютерами
Первая проблема удручала меня в особенности. Так как когда выдавалась свободная минута на работе, или я хотел поработать с ноутбука, мне приходилось либо доставать версию с флешки, либо заниматься другим проектом. Если вдруг оказывалось, что я все же не забыл флешку и код, то возникала проблема номер два: как мне все это совместить и синхронизировать с остальными версиями проекта на других компьютерах.
Я тогда еще много не знал, и мне казалось сказкой такая возможность. Т.е. я конечно о таком мечтал, но не очень знал с какой стороны к этому подойти.
В какой-то момент в любой ситуации и области знаний возникает переломный момент, после которого все разрозненные кусочки знаний складываются в единое целое. Я уже знал о динозавре Visual Source Safe (экспериментировал дома с доступами и все такое), пользовался активно Team Foundation Server на работе. Но надо было что-то такое, что было бы доступно отовсюду. Хотел было организовать себе статический IP адрес, но для физических лиц такой услуги у провайдера не было. И в этот момент, о чудо, попадается на глаза статья о сетевых сервисах предоставляющих системы контроля версий бесплатно, т.е. на халяву! Я уже не помню, какие системы были перечислены в той статье, но Assembla чем-то меня зацепила. Около полутора лет я пользуюсь этой системой и впечатления самые радужные. Далее (в этом и других ) я расскажу об основных возможностях системы, таких как:
- Git, SVN репозитории;
- Система управления требованиями;
- Совместная работа над проектом;
(Много скриншотов)
Регистрация и выбор конфигурации
На главной странице нажмите на ссылку TryAssembla где будет форма для регистрации.
Там нет ничего сложного, так что подсказок по этому поводу не требуется. После регистрации нажмите на ссылку «Get Plan».
Жмем ее и попадаем на страницу выбора конфигураций. К слову, вы можете создать любое количество таких рабочих пространств.
Конфигурации есть следующих типов:
- Репозиторий Subversion и система ведения проектов.
- Система ведения проектов.
- Командная работа.
- Репозиторий Git и система ведения проектов.
- Trac и репозиторий Subversion.
Для повседневных нужд лучше всего подойдет самый первый пункт – «Subversion Hosting with Integrated Tickets». Тогда у вас будет система контроля версий и удобный менеджер проекта, где вы сможете записывать всю информацию по проекту. Что уже сделали, что собираетесь сделать, вести wiki, хранить дополнительные проектные файлы. Таким образом, вы всегда сможете вспомнить, на чем остановились и что было сделано, даже если прошел месяц или полгода после последних изменений.
Следующим шагом будет выбор тарифного плана.
Когда я рассказывал это товарищу он, увидев страницу, слегка испугался и даже позвонил мне, спрашивая где же халява. =) Прокручиваем страницу вниз и видим слева небольшой блок с заголовком «Free Public Workspaces», где есть кнопка «Get a Workspace». Нажимаем ее и переходим на финальную страницу настройки.
Сейчас мы создали публичное пространство проекта. Оно доступно любому пользователю для чтения. Испоганить ваш проект никто не сможет. А доступность меня особенно не волнует, т.к. пространство проекта еще надо найти, и даже если загрузить то постараться в нем разобраться, какие зависимости есть и где это забрать. =)) Вобщем тот еще геморрой, но если вы обеспокоены приватностью, то есть платные пространства, которые закрыты для всех, кроме участников.
На финальной странице настройки нас спросят, как будет идентифицироваться наше пространство проекта.
Вводим имя проекта для того чтобы самим не запутаться. Далее выбираем, как это будет отображаться в URL. Полезно проверить занятость выбранного имени. Все остальные поля можно оставить как есть. Жмем «Create the Space» и попадаем на страницу администрирования только что созданного пространства проекта.
Здесь вы можете сменить тарифный план, настроить инструменты входящие в пространство проекта, настроить видимость, сделать бэкап или удалить все вообще.
Создание задач и их отслеживание в Assembla
Хорошо когда есть план задач. Он позволяет двигаться четко намеченным курсом, ну или как минимум не забыть того, что собирались сделать. Пусть первой задачей для нашего проекта будет внесение проекта в систему контроля версий.
Открываем закладку «Tickets».
И жмем на «New Ticket» и видим форму оформления нового требования
Пишем кратко о чем задача, указываем существующий или создаем новый майлстоун, задаем приоритет. Более подробно описываем задачу. Для учета времени, можно указать, сколько времени приблизительно потребуется для выполнения этой задачи. Можно так же приложить различные материалы и документы к задаче. В Assembla можно создавать иерархию задач, указывать зависимости как вертикальные, так и горизонтальные. Завершаем создание задачи нажатием на кнопку «Create Ticket».
После этого появится экран с только что созданной задачей, где можно ее продолжить редактировать: добавлять новые документы, назначать зависимости, назначать виноватых по задаче.
На мой взгляд удобнее всего работать с задачами из подменю Agile Planner.
В левой части располагаются относительно крупные задачи, над которыми ведется работа. Справа все задачи, которые имеются в проекте.
Сейчас видно, что нет никаких задач в процессе выполнения, т.к. слева ничего нет. Один взгляд на панель справа тоже может сказать о многом. Например, розоватая (у меня цветослабость) подсветка говорит о том, что задача имеет наивысший приоритет. Следующий по важности идет желтоватый фон, а обычные задачи отображаются на белом. Пунктирная оранжевая линия говорит о том, что эту задачу еще никто не взял.
Если нажать на значок редактирования задачи и выставить там пункт «Accept ticket as my assignment», то после сохранения изменений внешний вид задачи изменится.
Ну что ж, приступим к выполнению задачи.
Интеграция с Visual Studio
После того, как мы создали свое собственное пространство на Assembla, надо загрузить в репозиторий проект и настроить студию на работу вместе с ним. Для этого нам потребуется дополнение для Visual Studio, позволяющее работать с SVN. В качестве такого дополнения я выбрал AnkhSVN. В целом хорошее дополнение, которое само по себе не вызывает нареканий в работе. Установка производится по стандартной схеме «Далее – Принимаю – Далее – Далее – Готово». Для еще большего удобства я использую TortoiseSVN. После установки требует перезапуска компьютера.
Перед тем как открывать проект в студии надо запомнить/скопировать адрес репозитория из соответствующего экрана Assembla.
После того как все программы установлены, запускаем студию, открываем проект который хотим поместить в репозиторий. Жмем правой кнопкой на солюшен и в контекстном меню находим пункт «Add Solution to Subversion…» и жмем на него.
В появившемся окне надо ввести адрес репозитория. После этого с вас потребуют имя/пароль для того, чтобы вносить изменения в репозиторий. Если вы все правильно ввели, то у вас будет окно примерно следующего вида:
В дереве папок репозитория выбираем «svn/vlt-tp_wrkspc» и можно жать «OK». Вас опять спросят пароль и имя. После чего появится очередное окно с предложением ввести комментарий к новой порции кода. Здесь есть небольшой финт ушами: если вписать номер задачи со знаком решетки, то потом в списке чекинов (check-in, commit) будет ссылка на конкретную задачу.
После закрытия этого окна на папку проекта будет уже натравлен SVN. Данным действием в репозитории будет создана папка для проекта, но сам проект не будет внесен в репозиторий. Это можно посмотреть как в студии (не внесенные файлы помечены плюсиком, так же на закладке Pending Changes есть список файлов) :
так и на странице проекта в Assembla:
Последнее действие, которое надо совершить, чтобы внести весь проект в репозиторий – это нажать на кнопку «Commit» на закладке «Pending Changes». После этого проект скопируется в SVN репозиторий Assembla. Не забываем вписывать комментарии в поле «Message» на тоже закладке.
В самой Assembla можно увидеть всю историю внесения изменений и привязку к конкретным задачам, если вы не ленились проставлять номера задач. На скриншоте видно, что номер отформатирован как ссылка, и если его нажать, то вы попадете на экран с этой задачей. Очень удобно на мой взгляд.
Взятие последней версии осуществляется нажатием на кнопку «Update» на закладке «Pending Changes».
Теперь вы знаете, как создавать пространства проектов в Assembla, загружать туда свои проекты. Надеюсь, вы теперь не потеряете ни один свой проект и не забудете над чем вы работали в последний раз в том или ином проекте.
На этом пока все, до новых встреч.
Hard’n’heavy!
















Март 21st, 2010 - 23:37
Ну вот, глаза уже закрываются. Завтра дочитаю :)
Июнь 4th, 2010 - 11:17
Любопытно! Со смартфона немного тяжело читается, но оно того стоит!
Июнь 14th, 2010 - 18:57
Спасибо! Доходчиво и понятно.
Декабрь 25th, 2010 - 23:25
А вы не могли бы посоветовать какие-нибудь другие сервисы для совместной разработки?
Декабрь 29th, 2010 - 20:12
Так с ходу и не назовешь. Давно читал обзоры этого дела. На вскидку Github, codeplex нас спасет )