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

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

19.08.2021     

Создатели крупнейшего хостинга репозиториев кода 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 2395 19.08.21 11:03 Сейчас в теме
Один товарищъ где-то (может даже здесь) как-то писал, что состояние потока - это плохое состояние, непрофессиональное, в нем нельзя разрабатывать бизнес-приложения со сложной логикой и тому подобное. Но, смотрю, не все с этим согласны. И это хорошо.
Оставьте свое сообщение

См. также

Депутаты Госдумы предложили Google и YouTube обсудить исполнение российских законов

Новость Google Законодательство ИТ-новость Новости компаний

Депутаты Госдумы пригласили Google и YouTube 25 октября в формате видеоконференции обсудить соблюдение российского законодательства. ИТ-компании приняли предложение.

сегодня в 13:37    1527    VKuser24342747    2       

Разработчик создал язык Ć для написания кода на С, Python и JavaScript одновременно

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

Разработчик из Польши Петр Фусик представил язык программирования Ć. Главная особенность технологии – возможность транслировать написанный код на С, С++, Java, Python и другие языки.

сегодня в 11:32    6668    VKuser24342747    1       

Microsoft добавила подсистему Windows для Linux в Microsoft Store

Новость Windows ИТ-новость Новости компаний

Пользователям Windows 11 стала доступна предварительная версия подсистемы Windows для Linux (WSL). Ее можно установить из Microsoft Store.

вчера в 15:33    3546    SKravchenko    3       

Python вытеснил C с первого места в рейтинге языков программирования за октябрь

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

Python впервые за 20 лет сумел обогнать Java и C по популярности и занять первую строчку в рейтинге TIOBE. Автор языка программирования Гвидо ван Россум поблагодарил сообщество за поддержку.

вчера в 13:29    3739    VKuser24342747    4       

Google сказал «SOS»: интернет-гигант поддержит новую программу вознаграждений

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

Компания Google объявила о поддержке пилотной программы вознаграждений за поиск уязвимостей в софте с открытым исходным кодом. Ее назвали SOS (Secure Open Source, безопасное открытое ПО).

15.10.2021    1698    user1015646    0       

Samsung по ошибке предложил британцам предустановить российское ПО

Новость Импортозамещение ИТ-новость Мобильные приложения Новости компаний

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

14.10.2021    2304    VKuser24342747    2       

PostgreSQL 14: встречаем новую версию популярной СУБД с открытым кодом

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

Разработчики представили крупное обновление СУБД PostgreSQL. В свежей 14-й версии упростили доступ к информации в JSON-формате и добавили поддержку несмежных диапазонов, улучшили производительность и работу с распределенными данными.

13.10.2021    2595    user1015646    1       

Новые возможности Microsoft Office 2021

Новость ИТ-новость Новости компаний

5 октября Microsoft выпустила новую версию офисного пакета приложений Office 2021. Он предназначен для предприятий и пользователей, которые не хотят покупать Office 365, доступный только по подписке.

12.10.2021    5696    SKravchenko    0       

МГУ представил первый национальный стандарт для ИИ и больших данных

Новость Искусственный интеллект ИТ-новость

Национальный центр цифровой экономики МГУ подготовил к публичному обсуждению первую редакцию отечественного стандарта для работы с большими данными и нейросетями.

12.10.2021    3610    VKuser24342747    1       

Минцифры намерено встроить электронную подпись в SIM-карту

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

Минцифры совместно с ФСБ, провайдерами и научными организациями разрабатывают технологию, которая позволит использовать электронную подпись при помощи стандартной SIM-карты.

11.10.2021    6536    VKuser24342747    2       

Крупнейшие российские ИТ-разработчики объединятся для развития Open Source

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

В Москве прошел форум Russia Open Source Summit. На нем лидеры российской ИТ-отрасли презентовали стратегию развития Open Source до 2024 года и анонсировали создание некоммерческой организации Russian Open Source Foundation.

11.10.2021    8678    ЕленаЧерепнева    2       

Язык программирования Python получил масштабное обновление

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

В официальном блоге Python представлена последняя стабильная версия языка под номером 3.10.0. Из новинок – улучшенное отображение ошибок, поддержка структурного сопоставления и более строгого итерирования.

08.10.2021    9921    VKuser24342747    8       

Microsoft официально выпустила релизную версию Windows 11

Новость Windows ИТ-новость Новости компаний

Бесплатное обновление Windows 10 до одиннадцатой версии доступно для всех владельцев системы. Главные изменения – повышенная безопасность и улучшение дизайна.

07.10.2021    4522    VKuser24342747    7       

Крупное обновление для Ubuntu стало доступно для бета-тестирования

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

Разработчики представили бета-версию Ubuntu 21.10 под названием Impish Indri. Последний раз операционная система получала крупный апдейт весной 2021 года.

05.10.2021    13200    VKuser24342747    4       

Привет, Java 17: что нового

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

Вышла новая версия Java 17. Три ключевых изменения: использование только строгой семантики чисел с плавающей точкой, единый API (прикладной программный интерфейс) для генераторов псевдослучайных чисел и отдельный API сторонних функций и памяти.

04.10.2021    8799    user1015646    0       

Исследователи нашли способ передавать данные через полое оптоволокно

Новость Интернет ИТ-новость Телекоммуникации

Британская компания BT заявила о создании пустотелого оптического волокна, заполненного воздухом. Технология может применяться для передачи данных, в том числе использующих квантовое шифрование.

04.10.2021    6573    VKuser24342747    2       

С 2023 года Google Chrome переходит на платформу Manifest V3. Старые расширения перестанут работать

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

Google объявил о переходе на новую платформу для расширений в Chrome – Manifest v3. Разработчики расширений опасаются, что блокировщики рекламы не смогут работать с новой версией платформы.

04.10.2021    2864    SKravchenko    4       

Yandex.Cloud выйдет на рынок Европы с сервисом виртуальных рабочих столов

Новость ИТ-новость Яндекс

В следующем году «Яндекс» планирует открыть представительство в Германии. Филиал российской компании будет продвигать на европейском рынке набор сервисов Yandex.Cloud.

01.10.2021    11819    VKuser24342747    4       

OpenAI научила нейросеть кратко пересказывать содержимое книг

Новость Искусственный интеллект ИТ-новость

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

30.09.2021    13908    VKuser24342747    2       

Microsoft предложила установить финальную версию Windows 11 на неделю раньше

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

Официальная дата релиза Windows 11 – 5 октября 2021 года. Однако Microsoft открыла доступ к обновлению ОС уже сейчас через канал тестирования Release Preview.

27.09.2021    5145    VKuser24342747    6       

JetBrains открыла ранний доступ к новой IDE для Data Science

Новость ИТ-новость Новости компаний

7 сентября JetBrains разместила в своем блоге статью с информацией о том, что новая IDE DataSpell, которая с марта 2021 года находилась в закрытом тестировании по программе раннего доступа (EAP), становится доступной для всех желающих.

24.09.2021    16148    capitan    4       

Microsoft предлагает отказаться от паролей в пользу сервиса Authentication

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

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

24.09.2021    3519    VKuser24342747    3       

Правительство утвердило разработку российского аналога GitHub

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

Премьер-министр Михаил Мишустин на форуме Kazan Digital Week анонсировал создание отечественного репозитория, аналогичного GitHub. Проект реализуется в рамках второго пакета поддержки ИТ.

22.09.2021    7147    VKuser24342747    25       

Microsoft присоединилась к Open Infrastructure Foundation для развития облаков

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

Microsoft стала платиновым членом организации Open Infrastructure Foundation. Компания будет представлять интересы своих телекоммуникационных клиентов в OpenStack.

15.09.2021    7027    VKuser24342747    0       

Microsoft разрешит устанавливать Windows 11 на старые компьютеры

Новость Windows ИТ-новость Новости компаний

Microsoft пересмотрела правила установки Windows 11, которые не позволяли использовать ОС на компьютерах, не соответствующих системным требованиям. Для инсталляции придется создать загрузочный диск.

14.09.2021    5213    VKuser24342747    0