Разработчики GitHub перешли в Codespaces

Разработчики GitHub перешли в Codespaces

19.08.2021      20883

Создатели крупнейшего хостинга репозиториев кода GitHub объявили, что теперь будут работать в Codespaces. Облачная среда обеспечивает доступ к 32 процессорным ядрам и до 64 ГБ оперативной памяти. Такие мощности должны ускорить совместную разработку проектов любого масштаба.

Большие перемены

Кодовой базе GitHub.com почти 14 лет. Разработчики подчеркнули: если брать историю программирования, начиная с эпохи расцвета языка COBOL, это не слишком большой срок. Но для эпохи интернета это довольно много. Посудите сами: когда на GitHub.com опубликовали первый коммит (снимок репозитория кода), Ruby on Rails, на котором написан код платформы, было всего два года. А службы облачных вычислений Microsoft Azure и Google Cloud Platform в то время еще даже не существовали.

За 14 лет в основном репозитории GitHub.com (github / github) было опубликовано более миллиона коммитов. Подавляющее большинство из них подготовили разработчики, которые создают и тестируют код компьютерах Apple и macOS. Но, видимо, для проекта Microsoft (она купила GitHub в 2018 году за 7,5 млрд долларов) пришло время больших перемен.

В GitHub давно используют подход, основанный на использовании единых сценариев и правил для всех. Новые сотрудники могут просто клонировать основной репозиторий github / github и из него запускать сценарии установки и начальной загрузки, а также иметь локальный экземпляр GitHub.com, который находится в работоспособном состоянии примерно 12 часов в сутки. Когда же что-то идёт не так, сценарий автоматически связывает сотрудника со специалистами службы поддержки, которые оперативно решают проблему.

 

Команды, которые позволяют запустить локальную копию GitHub

 

Но GitHub непрерывно растёт, и в какой-то момент даже небольшие изменения в коде стали все чаще приводить к краху. Приходилось разрабатывать скрипты, которые восстанавливали локальные копии репозитория до гарантированно работоспособного состояния, и часами ждать, пока обновятся внутренние зависимости проекта.

Переход в Codespaces должен решить эту проблему – для GitHub и других крупных проектов. Единая облачная среда повышает производительность разработки и сокращает время ожидания.

Что такое Codespaces

Проект Codespaces предоставляет командам разработчиков быструю среду совместной разработки в облаке. С ней в любой момент можно вернуться в заведомо работоспособное состояние репозитория и сразу продолжить начатое, не решая ворох возникших проблем.

Codespaces доступен в любом популярном браузере. Под капотом – виртуальные машины, которые включают до 32 процессорных ядер, до 64 ГБ оперативной памяти и до 128 ГБ места на диске.

 

 

Интерфейс платформы – интегрированная среда Visual Studio Code со всеми основными инструментами. Здесь есть редактор, дебаггер, терминал, доступ к системе контроля версий, синхронизация настроек, расширения и инструмент GitHub Copilot на базе искусственного интеллекта для дополнения кода. Есть также возможность предварительного просмотра изменений в браузере при работе с веб-проектами и порт-форвардинг.

С августа проект Codespaces стал доступен в тарифных планах Team и Enterprise Cloud на github.com. Платить предлагается за использованное время и ресурсы. Например, виртуальная машина с 2 процессорными ядрами и 4 ГБ оперативной памяти обойдётся в 18 центов в час, хранение гигабайта данных на диске – 7 центов в месяц.

 

 

Личный опыт

Разработчики признались, что миграция в Codespaces далась им нелегко. Репозиторий GitHub.com занимает на диске почти 13 ГБ. Клонировать его можно было не менее чем за 20 минут, а настройка зависимостей и загрузка кодового пространства занимала ещё 45 минут. Но даже после успешного монтирования репозитория в кодовое пространство разработчики очень долго не могли запустить проект.

В итоге после множества изменений и доработок пришлось переделать логику клонирования репозиториев в Codespaces. Вместо создания полного клона при инициализации теперь выполняется поверхностное клонирование, а затем, после создания кодового пространства с самыми последними коммитами, в фоновом режиме загружается история репозитория. Это позволило сократить время клонирования с 20 минут до 90 секунд.

После оптимизации кеширования и автоматического создания Docker-контейнеров, которые используются в качестве настроек (config-as-code) для сред Codespaces, загрузку кодового пространства и зависимостей удалось ускорить с 45 минут до 5. Но команда хотела большего, ведь обычно разработчики не готовы ждать 5 минут и уже через 10 секунд выпадают из состояния потока.

В GitHub поняли, что основная проблема заключалась в том, что клонирование и загрузка конкурируют за ресурсы. Поэтому в Codespaces стали заранее создавать предварительно сконфигурированные кодовые пространства, которые будут готовы к работе за 10 секунд.

Кроме того, миграция на Codespaces позволила делиться с коллегами результатами разработки просто по ссылке – без коммитов, пушей, код-ревью или развертывания. Достаточно просто скопировать и отправить ссылку, чтобы другой разработчик получил доступ к 80 порту в вашем кодовом пространстве и выполнил все необходимые операции или тесты.

Наконец, GitHub добавил в Codespaces поддержку работы в консоли. Для этого достаточно обновить предварительно созданный образ, который инициализирует sshd с открытыми ключами, открывает порт 22 и перенаправляет запросы к нему из кодового пространства. Что-то подобное можно сделать в любом проекте, чтобы повысить эффективность и удобство разработки.



Источник: https://infostart.ru/journal/news/tekhnologii/razrabotchiki-github-pereshli-v-codespaces_1500548/
Автор:
Обозреватель


Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. starik-2005 2797 19.08.21 11:03 Сейчас в теме
Один товарищъ где-то (может даже здесь) как-то писал, что состояние потока - это плохое состояние, непрофессиональное, в нем нельзя разрабатывать бизнес-приложения со сложной логикой и тому подобное. Но, смотрю, не все с этим согласны. И это хорошо.
Оставьте свое сообщение

См. также

«Сбер» начнет использовать российские TLS-сертификаты для платежного шлюза

Новость Безопасность ИТ-новость Минцифры

Банк запланировал переход на сертификаты, выпущенные Национальным удостоверяющим центром (НУЦ) Минцифры, на 30 января 2023 года. Клиентам необходимо добавить на свои серверы корневой сертификат ведомства.

сегодня в 09:45    550    VKuser24342747    0       

Минцифры подготовило правила отказа от передачи биометрических данных

Новость ИТ-новость Минцифры

Гражданин имеет право отказаться от сбора и распространения своих биометрических данных. Отказ можно оформить в МФЦ только при личном присутствии.

24.01.2023    974    VKuser24342747    0       

Банки смогут получить право на передоверие полномочий по электронной подписи

Новость ИТ-новость Цифровая подпись Цифровая экономика

Комитет Госдумы рекомендует принять соответствующий законопроект. Документ позволит компаниям финансового сектора использовать электронную подпись наравне с другими организациями.

20.01.2023    857    VKuser24342747    0       

«ВКонтакте» начал поддерживать получение уведомлений от Госуслуг

Новость Госуслуги ИТ-новость Мессенджеры Налоги

Оповещения с Единого портала госуслуг будут отображаться в Вконтакте и приложении «VK Мессенджер». Кроме того, стала доступна оплата штрафов ГИБДД прямо в VK.

19.01.2023    974    VKuser24342747    0       

Минцифры подготовило правила аккредитации госорганов на владение информсистемами для биометрии

Новость Законодательство ИТ-новость Минцифры

Проект постановления содержит требования к Цетробанку и госорганам, а также к сторонним организациям, которые будут привлекаться ведомствами в качестве операторов. Требования согласованы с ФСБ.

19.01.2023    887    VKuser24342747    0       

Утвержден профстандарт специалиста по информационной безопасности

Новость Безопасность ИТ-новость

Новый профстандарт вступит в силу 1 сентября 2023 года. А пока у работодателей в кредитно-финансовой сфере есть время проанализировать трудовой функционал специалистов по ИБ и при необходимости уточнить его.

17.01.2023    1536    user1816563    0       

Национальная система пространственных данных начала работу в России

Новость ИТ-новость Цифровая экономика

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

12.01.2023    1739    VKuser24342747    0       

Госдума рассмотрит законопроект о цифровом рубле

Новость Законодательство ИТ-новость Цифровая экономика

Документ определяет выпуск и обращение цифрового рубля на территории России, назначает оператора нового платежного средства и его полномочия и обязанности по сохранности денег пользователей.

11.01.2023    3486    VKuser24342747    2       

Оператором Единой биометрической системы стал «Центр Биометрических Технологий»

Новость ИТ-новость

Ранее за работу платформы отвечал «Ростелеком». На «Центр Биометрических Технологий» возложены задачи по развитию в России цифровых технологий идентификации и аутентификации, в том числе на основе биометрических персональных данных.

22.12.2022    2408    VKuser24342747    2       

GitHub бесплатно проверит репозитории на наличие секретных токенов

Новость GitHub Безопасность ИТ-новость

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

22.12.2022    1756    VKuser24342747    1       

GitHub к концу 2023 года введет обязательную двухфакторную аутентификацию

Новость GitHub Безопасность ИТ-новость

Веб-хостинг потребует от всех пользователей, загружающих код, включить двухфакторную аутентификацию (2FA) для дополнительной защиты своих аккаунтов.

21.12.2022    2047    VKuser24342747    0       

Госдума рассмотрит законопроект о провайдере для госсайтов

Новость Государственные, бюджетные структуры Законодательство ИТ-новость

Документ предусматривает запрет на размещение государственных информационных ресурсов на хостингах, не включенных в специальный реестр. Сейчас около 20% ресурсов госорганов размещены на иностранных площадках.

20.12.2022    1665    VKuser24342747    1       

«Яндекс» открыл доступ к фреймворку Yatagan для сборки Android-приложений

Новость ИТ-новость Яндекс Разработка

Инструмент свободно распространяется через GitHub. Перед публикацией в открытом доступе фреймворк долгое время применялся во внутренних проектах компании. Решение основано на API Dagger.

16.12.2022    2473    VKuser24342747    1       

В России появится национальная издательская система вместо иностранных аналогов

Новость Импортозамещение ИТ-новость

Программный комплекс будет создан на базе существующего отечественного решения Axiocat. Сейчас это приложение не внесено в Единый реестр российского ПО, хотя применяется некоторыми компаниями.

15.12.2022    1705    VKuser24342747    0       

Google рассказала о проблемах и преимуществах поддержки разработки на Rust в Android 13

Новость Google ИТ-новость Языки программирования

По итогам внедрения поддержки разработки на Rust снизилось число уязвимостей, связанных с управлением памятью. Инженеры считают, что основное внимание нужно уделить написанию нового кода, а не переписыванию старого.

14.12.2022    1780    VKuser24342747    0       

Банки обяжут принимать оплату по картам «Мир» с QR-кодом в смартфоне

Новость Банки ИТ-новость

Оператор платежной системы «Мир» разослал российским банкам документ с требованием обеспечить прием платежей по новой технологии. Первый этап внедрения завершится в апреле 2023 года.

14.12.2022    1991    VKuser24342747    1       

Госдума рассмотрит законопроект о создании Национального удостоверяющего центра

Новость Законодательство Интернет ИТ-новость

Информационная система позволит российским сайтам получать сертификаты безопасности без участия иностранных организаций. Для их выдачи будет применяться отечественная криптография.

09.12.2022    1835    VKuser24342747    0       

Госдума планирует отложить срок обязательного перехода на машиночитаемые доверенности

Новость Законодательство ИТ-новость

Госдума в первом чтении одобрила законопроект, который продлевает переходный период для машиночитаемых доверенностей. Еще полгода организации смогут не применять МЧД при использовании электронных подписей.

08.12.2022    1918    VKuser24342747    0       

GitHub опубликовал статистику по языкам и проектам за 2022 год

Новость ИТ-новость Языки программирования Разработка

В статистическом отчете репозитория названы самые популярные языки программирования среди пользователей платформы, а также данные об активности аудитории сервиса.

01.12.2022    2295    VKuser24342747    11       

Инспекторы смогут проводить дистанционные проверки через смартфон

Новость ИТ-новость Мобильные приложения

Минэкономразвития представило мобильное приложение, которое позволит осуществлять надзорные мероприятия бизнеса без посещения офиса. Программа работает через Госуслуги.

28.11.2022    2270    VKuser24342747    0       

«Яндекс» представил бесплатный сервис для быстрого поиска в облаке

Новость ИТ-новость Облачные технологии

Сервис Managed Service for OpenSearch от платформы Yandex Cloud предназначен для оптимизации поисковых систем и проверки стабильности и безопасности работы приложений. Услуга доступа в режиме Public Preview.

24.11.2022    3014    VKuser24342747    1       

В декабре начнут действовать новые правила регистрации доменов .RU и .РФ

Новость ИТ-новость Роскомнадзор

С 12 декабря Роскомнадзор получит право прекращать делегирование домена, если он оформлен нелегально, или на сайте содержится запрещенная в России информация.

23.11.2022    2208    VKuser24342747    1       

Stack Overflow запустил проект для оффлайн-доступа к форуму

Новость ИТ-новость Разработка

Проект под названием Overflow Offline позволяет скачать актуальную версию архива вопросов и ответов по разработке ПО. По объему данных база форума уступает только «Википедии».

02.11.2022    2059    VKuser24342747    1       

Минцифры запустило магазин российского ПО из реестра ИТ-решений

Новость Импортозамещение ИТ-новость

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

21.10.2022    2462    VKuser24342747    4       

В ноябре начнется создание российского государственного аналога GitHub

Новость ИТ-новость

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

19.10.2022    3355    VKuser24342747    14