Возможно, вы уже наслышаны, а если нет, то самое время узнать, что на днях мы выпустили первый официальный релиз Upsource.
Что такое Upsource?
Upsource — это инструмент для просмотра VCS-репозиториев, навигации по ним, а также для обсуждения и рецензирования кода (code review). Upsource предназначен для установки на собственном сервере компании и умеет работать с репозиториями Git, Mercurial, Subversion и Perforce.
В Java-проектах Upsource дополнительно осуществляет анализ кода аналогично тому, как это делает IntelliJ IDEA, а также предлагает знакомые по IDE функции Find Usages, Go to Declaration и Type Hierarchy.
Если помните, в августе мы анонсировали программу раннего доступа к Upsource, ну а сейчас дожили до релиза. Особо стоит отметить, что перед релизом мы обстоятельно подумали о лицензировании и ценах, и в итоге пришли к тому, что лицензия для небольших команд — до 10 пользователей (8 обычных пользователей, 1 гость и 1 администратор) — будет совершенно бесплатна. Для более крупных команд предлагается ряд коммерческих лицензий от 25 пользователей.
Что Upsource умеет, а чего не умеет?
О том, для чего подходит Upsource, а для чего нет, мы довольно подробно рассказывали летом, анонсируя EAP. Если вкратце, то основные функции продукта сейчас таковы:
- просмотр изменений в репозиториях Git, Mercurial, Subversion и Perforce;
- поиск по истории изменений и по коду в любой ревизии;
- чтение кода (подсветка синтаксиса большинства популярных языков прилагается);
- обсуждение изменений и отдельных фрагментов кода;
- полноценное рецензирование кода (code review) с несколькими ролями, причем, в отличие от ранних билдов, теперь review можно проводить как на отдельных ревизиях, так и на целых ветках Git и Mercurial, и в этом случае новые ревизии добавляются в review автоматически;
- для Java-проектов — анализ кода, дополнительные возможности поиска и навигации (включая Go to Declaration и Find Usages).
В том же летнем посте рассказывалось, чем Upsource не является. В частности, Upsource не работает по модели SaaS и должен устанавливаться на вашем собственном сервере. Также продукт не является VCS-хостингом, а следовательно, не позволяет открывать ветки, создавать pull requests, проверять merge-конфликты и собственно проводить слияние веток. Хорошая новость заключается в том, что работы над Git-хостингом в рамках Upsource уже вовсю ведутся.
Чтобы получить представление об Upsource в его нынешнем виде за 8 минут, можно посмотреть плейлист на YouTube.
Что изменилось за последние месяцы?
Мы так часто ссылаемся на анонс программы раннего доступа, как будто с тех пор в продукте ничего не изменилось. Это, конечно, не так. Из важных изменений с августа стоит отметить следующие:
- Рецензирование веток (branch review). Теперь code review на ветках создается в один клик, и по мере появления в ветке новых ревизий они автоматически включаются в review.
- UI для сравнения произвольных ревизий или веток.
- Более точная подсветка изменений: в частности, теперь подсвечиваются изменения внутри строк кода, а в Java-проектах контекст изменений формируется в зависимости от структуры кода, в котором оно произошло.
- Отчеты по рецензированию кода в проекте: количество рецензированных ревизий относительно их общего числа, статус review, основные рецензенты.
- Стандартная функциональность для администраторов: резервирование/восстановление и перевод в read-only режим, необходимый для обновления версии продукта без полной остановки его служб.
- Интеграция с любыми баг-трекерами на уровне создания ссылок по ID реквеста.
- Поддержка Markdown в комментариях.
Для кого и для чего Upsource сейчас лучше всего подходит?
Все вышеперечисленное здорово, но возникает вопрос: подходит ли Upsource лично вам? Нам представляется, что попробовать Upsource стоит, если ваша команда (или компания) отвечает хотя бы одной из перечисленных ниже характеристик:
- Разрабатывает проекты на Java с применением Maven и/или IntelliJ IDEA. (Поддержка Gradle обещает быть в следующем релизе.)
- Использует несколько разных VCS из списка поддерживаемых (Git, Mercurial, Subversion и/или Perforce) и хочет получить единообразный UI для просмотра изменений и навигации по коду в своих проектах.
- Имеет возможность установить Upsource на собственном сервере.
Сколько стоит?
Как уже говорилось, 10-пользовательская лицензия бесплатна. Кроме того, по запросу доступны бесплатные лицензии для некоммерческих OS-проектов и для применения в образовательном процессе.
Также предусмотрены коммерческие лицензии на 25, 50, 100, 500 и 1000 пользователей стоимостью от $1300. Коммерческие лицензии всегда включают 1 год бесплатных обновлений; опциональное продление этого срока обойдется в 50% от стоимости новой лицензии.
Следует иметь в виду, что вне зависимости от количества пользователей в той или иной лицензии, одна из учетных записей по умолчанию будет административной, еще одна — гостевой. Гостевую при желании можно отключить. Таким образом, 10 пользователей = 8 пользователей + администратор + гость; 25 пользователей = 23 пользователя + администратор + гость; и так далее.
Где взять?
Скачать продукт можно отсюда; ознакомиться с ценами — здесь.
Задать интересующие вас вопросы, естественно, можно в комментариях к этому посту.
Автор: gorohoroh