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

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

19.08.2021      12981

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

См. также

Российская ОС «Аврора» получила крупное обновление до версии 4.0

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

Компания «Открытая мобильная платформа» выпустила мобильную операционную систему «Аврора» 4.0. Релиз включает более 300 улучшений, из них 40 – важные нововведения.

вчера в 15:47    6126    VKuser24342747    0       

Российские банки запустили систему переводов без номера телефона и карты

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

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

02.12.2021    5140    VKuser24342747    3       

Сотрудники Минцифры протестируют сервисы VK для госслужащих

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

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

02.12.2021    6549    VKuser24342747    0       

Лаборатория Касперского представила бесплатную ОС

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

«Лаборатория Касперского» выпустила собственную операционную систему. На базе KasperskyOS можно создать решения, которые защищены от многих видов кибератак.

01.12.2021    5938    user1015646    1       

«Яндекс» представил сервис для сканирования документов

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

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

01.12.2021    6730    VKuser24342747    1       

OpenAI открывает доступ к API GPT-3

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

Компания OpenAI предоставила доступ к API (прикладному программному интерфейсу) алгоритмов обработки естественного языка GPT-3. Это открывает новые возможности для экспериментов с умными системами, которые могут имитировать человеческие возможности – например, писать стихи или отвечать на вопросы.

29.11.2021    4702    user1015646    0       

Компания JetBrains представила легковесный редактор Fleet

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

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

29.11.2021    4955    ЕленаЧерепнева    8       

Разработчики Astra Linux создали аналог Microsoft Active Directory

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

Группа компаний «Астра» представила службу ALD Pro, которая замещает в российской ОС Astra Linux решение Microsoft Active Directory. Поддержку этой функции от системы часто требуют госзаказчики.

29.11.2021    5832    VKuser24342747    1       

Специальный алгоритм очистит данные переписи населения

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

В России завершился первый этап Всероссийской переписи населения. Росстат будет в автоматическом режиме очищать собранные данные от продублированных записей при помощи российской BI-системы.

26.11.2021    5931    VKuser24342747    0       

В офисах Google появились универсальные роботы

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

Офисы Google в Маунтин Вью, штат Калифорния, теперь станут гораздо чище. К уборке привлекли универсальных роботов, разработанных X Company, которая, как и поисковый гигант, входит в состав холдинга Alphabet.

25.11.2021    5633    user1015646    2       

Вышло крупное обновление для TypeScript с автодополнением кода

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

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

24.11.2021    8959    VKuser24342747    4       

GitHub назвал три ключевых тренда в разработке за 2021 год

Новость GitHub Аналитика ИТ-новость

GitHub провел традиционное ежегодное исследование Octoverse, чтобы определить основные направления развития ИТ-индустрии. В 2021 году актуальными стали вопросы быстрого написания кода и подготовки документации.

24.11.2021    9223    VKuser24342747    0       

Рособрнадзор прекратит использовать Windows при проведении ЕГЭ

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

Единый государственный экзамен к концу 2024 года будет проходить без использования ОС Windows во всех местах, где можно сдать тестирование. Вместо нее будет установлена российская система.

23.11.2021    6429    VKuser24342747    5       

Google выпустил версию браузера Chrome 96

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

Новая актуальная версия Google Chrome 96 получила расширение инструментов для веб-разработчиков и экспериментальные функции в мобильной версии.

23.11.2021    5654    VKuser24342747    1       

Через Госуслуги компании подтвердили 13,3 млн корпоративных SIM-карт

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

Министерство цифрового развития сообщило, что компании соблюдают новые требования закона «О связи» и уже зарегистрировали на портале госуслуг 13,3 млн рабочих SIM-карт.

22.11.2021    7648    VKuser24342747    1       

Visual Studio 2022 и .NET 6: что нового

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

Microsoft выпустила свежий релиз одной из самых популярных сред разработки. Вместе с Visual Studio 2022 представили обновленную платформу .NET 6.

22.11.2021    9312    user1015646    0       

Программист разработал поисковую систему без слежки за пользователями

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

Бывший разработчик из компании Salesforce Ричард Сокер открыл публичный доступ к своему поисковому сервису You. В нем нет никаких трекеров личных данных и рекламных материалов.

18.11.2021    6241    VKuser24342747    3       

«Сбер» обучил нейросеть ruGPT-3 генерировать программный код

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

Новая функция самой большой генеративной AI-модели для русского языка получила название JARVIS. Сейчас сервис способен работать с языками программирования Java, Python и JavaScript.

18.11.2021    6239    VKuser24342747    2       

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

Новость Блокчейн ИТ-новость

В России разработан блокчейн InnoChain, который предназначен для использования в закрытых сетях. С его помощью можно подписывать договоры и планировать объемы продаж.

17.11.2021    6779    VKuser24342747    0       

В Dropbox появились «автоматизированные папки» и новая система тегов

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

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

17.11.2021    6366    SKravchenko    1       

Microsoft выпустит платформу Defender for Business

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

Microsoft Defender for Business станет частью комплексного решения Microsoft 365 Business Premium, которое объединяет Microsoft Teams и Office 365 с основными инструментами безопасности для малого и среднего бизнеса.

16.11.2021    4286    SKravchenko    0       

Adobe Photoshop и Illustrator стали доступны онлайн

Новость

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

11.11.2021    5370    user1015646    0       

Что нового в SQL Server 2022

Новость СУБД MS SQL ИТ-новость Новости компаний

Microsoft на ежегодной конференции Microsoft Ignite анонсировала предварительную версию SQL Server 2022 – теперь СУБД включает интеграцию с базой Azure SQL, службой аналитики Azure Synapse Analytics и платформой управления данными Azure Purview.

11.11.2021    10414    SKravchenko    0       

«Сбер» представил нейросеть для генерации картинок по описанию

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

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

11.11.2021    6894    VKuser24342747    10       

Правительство собирается определить главный российский процессор

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

Минцифры и Минпромторг намерены выбрать приоритетную российскую микропроцессорную платформу. Разработчики отечественного ПО будут обязаны поддерживать ее.

10.11.2021    6251    VKuser24342747    4