Вселенная кода, доступная каждому: презентация GitVerse

Привет, Хабр! На связи Андрей Аврамчук (@Mimizavr). Недавно я побывал на онлайн-презентации GitVerse — платформы для совместной разработки и хостинга кода. Планируется, что она станет инструментом нового поколения, избавляющим разработчика от многих болей. Под катом вы узнаете:

  • Чем GitVerse может помочь открытому ПО.

  • Почему перенос своих проектов на платформу — это легко и приятно.

  • Куда спрятаться от ИИ (спойлер: никуда).

  • Умеет ли GitVerse в CI/CD.

  • И наконец, какие есть причины смотреть в будущее с оптимизмом.

Принцип единого окна

Когда-то разработчику было достаточно блокнота и компилятора, а для веба хватало только блокнота. К счастью или к сожалению, те времена ушли навсегда. Современные инструменты существенно увеличивают эффективность разработки, но при этом добавляют частые переключения контекста.

805b72295459aa452051cf93db6c9d8a.pngАнатолий Шипов

Управляющий директор, СберТех

Разработчик использует порядка восьми различных инструментов в течение дня, чтобы сделать свой кусок работы. Здесь он рисует архитектуру, тут у него деплоймент-диаграмма, там он работает непосредственно с ландшафтом баз данных, здесь пишет код, здесь работает с командой, а вот тут ещё есть параллельно какой-то чатик. Существует огромное количество практически не связанных между собой инструментов, и переход между ними не всегда бывает бесшовным. Ты всегда забываешь о предыдущем шаге, на каждом следующем шаге ты «обнуляешься».

Но иногда этот когнитивный оверхед можно убрать или уменьшить. Стратегическая цель СберТеха — создать для себя и для других разработчиков некое «единое окно», среду, где можно вести весь процесс разработки: от проектирования архитектуры до деплоя. Эта среда будет пронизана ИИ, автоматизирующим рутинные задачи. Кто-то боится, что ИИ заменит разработчика, но в СберТехе придерживаются несколько иного мнения: с помощью ИИ разработчик сможет достичь максимальной эффективности и сосредоточиться на действительно творческих вещах.

8d1f29379214356e16e819953d637269.jpg

Как и любая абстракция, «единое окно» едино только снаружи. Внутри него — коллекция инструментов, которые СберТех долго разрабатывал, внедрял, подгонял друг к другу. Изначально — для собственных нужд, но через GitVerse команда СберТеха хочет поделиться этими инструментами со всем сообществом разработчиков. Например, в ближайшее время планируется сделать доступной интегрированную среду разработки — буквальное воплощение «единого окна», позволяющую рулить всем процессом из одного приложения.

Больше никаких блокировок

Свобода ПО — это свобода использовать, изменять, распространять и публиковать свою улучшенную версию. Так вот с последней свободой сейчас возникли некоторые нюансы. Крупнейшая мировая платформа по хранению кода GitHub с 2022 года выборочно блокирует аккаунты пользователей из России. GitVerse может стать альтернативой для российских разработчиков. Платформа создана и размещена в России, что полностью исключает риски недоступности разработок и кода.

Кроме того, отечественная локализация сервиса критична и для многих клиентов.

9355c7c725cbc6ffe6f90e59207b494c.pngАнтон Морев

CTO Wormsoft

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

Развитие открытого ПО — приоритетное направление для СберТеха. Ушли в прошлое времена, когда open source развивался отдельно от мира больших корпораций. Теперь корпорации постоянно пользуются открытым ПО, инвестируют в него и поддерживают сообщество. Основной смысл GitVerse в том, чтобы помочь российским разработчикам открытого ПО создавать крутые и полезные вещи, доступные всем.

Простота миграции

Даже когда переезжаешь на самую супер-пупер-лучшую в мире платформу, переезд — это все равно боль, а хороший инструмент разработчика призван ее минимизировать. Поэтому в GitVerse предусмотрена простая, практически в один клик миграция с существующих платформ хранения git-репозиториев. Планируется, что инструменты, которые появляются на GitVerse, будут оборудованы удобными миграторами. Например, в последнем релизе на GitVerse появились CI/CD-инструменты — аналог GitHub Actions с совместимым синтаксисом. При переезде с GitHub ваш сборочный пайплайн даже не придётся редактировать.

3200f15705dae9cb16b757c4f44cced6.jpg

GigaCode

Разумеется, сегодня никак нельзя выпускать крутой продукт без встроенного хоть куда-нибудь ИИ. GitVerse идёт в комплекте с GigaCode — ИИ-ассистентом разработчика, который уже хорошо зарекомендовал себя в Сбере. GigaCode развивается в синергии c сервисом GigaChat (искусственный интеллект от Сбера) с точки зрения используемых технологий, моделей, процессов и подходов. «Под капотом» GigaCode находятся нейросетевые модели, которые обучены на больших корпусах исходного кода и специализируются на определённых задачах разработки.

С GigaCode можно пообщаться прямо в веб-интерфейсе GitVerse. Например, там есть кнопка, о которой мечтали поколения программистов, — кнопка сделать хорошо «О чём код». При нажатии на неё GigaCode формирует описание простым языком того, что происходит в текущем модуле. В более сложном случае можно открыть диалоговое окно и пообщаться, задать вопросы по коду.

Также GigaCode доступен и в IDE — через плагины к популярным средам разработки. Автодополнение по контексту, генерация кода по описанию — в наличии всё, что ожидают от ИИ-помощника в 2024 году.

cc8aa3c0a13ae75ab22deb73a575cc25.jpg

5b36de99a5d26c2934b58f9bded3516a.pngВиталий Абрамов

Главный разработчик веб-интерфейсов, BI.ZONE

Существует несколько AI-ассистентов. Как же выбрать один «тот самый»? Конечно, сначала определиться с критериями выбора. И,  безусловно, важнейший критерий для нас — это безопасность. Код наших приложений должен быть надёжно защищён, потому что уровень критичности максимальный.

Есть разные варианты развёртывания такой системы, и первый — это развернуть всё самостоятельно, на собственной инфраструктуре. Сначала мы хотели пойти именно таким путем, но поняли, что это очень дорого. Придётся поддерживать немаленькую инфраструктуру, нужно найти модель, выбрать и дообучить её. Для этого понадобятся ML-аналитики, которых в компании может не быть совсем.

Другой вариант — воспользоваться облачным решением. Самое замечательное, что при этом ничего не нужно делать — всё уже настроено, только пользуйся. А самый большой минус — чтобы получить подсказку, нужно отправить контекст, то есть ваш код по Сети. И тут возникает ряд вопросов…

Мы решили попробовать GigaCode, который содержит в себе основной плюс cloud-решения. При этом вендор российский, то есть отсутствует геополитический риск остаться однажды без этого инструмента. В наличии нормативные документы, в которых описаны все варианты использования информации, и там всё хорошо.

Непрерывная интеграция

Как уже говорилось выше, в GitVerse есть аналог GitHub Actions под названием «Действия». Этот функционал добавлен недавно — платформа активно развивается, и новые фичи появляются буквально на глазах. С помощью «Действий» и вебхуков можно настроить CI/CD так же, как и на GitHub: пулл-реквест запускает пайплайн, проект собирается, тестируется и деплоится.

Если говорить о новой функциональности, у GitVerse есть роадмап, где можно увидеть, что СберТех планирует представить пользователям в ближайшее время. Одна из таких фич — DevContainers, в которых можно будет быстро собрать и запустить проект в облаке или локально без необходимости использовать сторонний сервис.

GitVerse, цитируя фантаста Сергея Лукьяненко, «не только частица, но и волна». Прямо сейчас, когда вы читаете эти строки, ребята из СберТеха пилят обновления. GitVerse — это процесс, причём не только разработки, но и взаимодействия с сообществом. Пользователь платформы имеет право голоса, и работа ведётся в первую очередь над теми фичами, которые востребованы сообществом.

В будущем пользователей GitVerse ожидают такие вещи, как Pages (публикация статических страниц в один клик), Registry (хранилище пакетов для npm, maven и прочих) и другие обновления. Искусственный интеллект станет ещё более вездесущим — он будет генерировать тесты, автоматически создавать документацию, осуществлять интеллектуальный поиск.

Будущее уже рядом. Присоединяйтесь, и вместе мы сделаем его ещё лучше.

© Habrahabr.ru