Облако - это ваша среда разработки

Предоставление готовых к написанию кода сред разработчика в облаке

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

Вот типичный рабочий процесс, с которым вы, возможно, знакомы:

  1. Выбрать проект
  2. Проверить зависимости
  3. Кассовое отделение
  4. Посмотреть Readme
  5. Установить инструменты и зависимости
  6. Запускаем сборку
  7. Выполнить тест
  8. Начать кодирование

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

Что, если бы это было так просто, в отличие от описанного выше рабочего процесса?

  1. Выберите проект 👩‍💻
  2. Начать кодирование 🚀

На протяжении многих лет мы наблюдали итерацию и развитие этой идеи: такие проекты, как Replit, StackBlitx, CodeSandbox, JSFiddle и многие другие, улучшались с течением времени.

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

Это видение, наконец, начинает реализовываться с такими проектами, как Gitpod и GitHub Codespaces, используемыми в реальных производственных базах кода, и, как в случае с Gitpod, бесплатными и доступными сегодня для всех в мире.

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

Обзор Gitpod

Gitpod позволяет автоматизировать развертывание проектов Github и начинать их кодирование прямо в любом браузере с полной настройкой VSCode.

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

Ценностное предложение таково: у меня есть проект, над которым я хочу работать, или я вижу проект в репозитории Github, который я хочу опробовать. С помощью Gitpod вы можете нажать кнопку или добавить репозиторий GitHub с помощью gitpod.io/# и открыть его в Gitpod.

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

Пара примеров некоторых автоматизаций:

Блокчейн-приложение

  1. Установите зависимости
  2. Запустить локальную ноду Ethereum
  3. Составить смарт-контракт
  4. Разверните смарт-контракт
  5. Запустите веб-сервер

Докер с RUST API

  1. Установить переменные среды
  2. Запустить Postgres
  3. Собрать проект - cargo build
  4. Запустить проект - cargo run

Приложение Jamstack

  1. Установить зависимости
  2. Запустите веб-сервер

Давайте посмотрим, как мы можем начать автоматизировать проекты такого типа.

Начиная

Я приведу здесь два примера:

  1. Развертывание и автоматизация собственного проекта на Gitpod
  2. Развертывание существующего проекта в Gitpod

Развертывание и автоматизация собственного проекта

Сначала создайте новое приложение Next.js и создайте файл .gitpod.yml:

npx create-next-app myapp
cd myapp
touch .gitpod.yml

Обновите .gitpod.yml следующим кодом:

tasks:
  - name: Install and deploy
    init: yarn
    command: npm run dev

Эта конфигурация будет делать следующее после запуска проекта в Gitpod:

  1. Установить зависимости
  2. Запустите сервер разработки после установки зависимостей и откройте порт 3000.

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

Затем создайте новое репозиторий GitHub и скопируйте URI проекта в буфер обмена.

Используя свой собственный URI проекта GitHub, отправьте свой проект на GitHub:

git init
git remote add origin [email protected]:username/myapp.git
git add .
git commit -m 'initial commit'
git push origin main

Теперь вы можете открыть свой проект, и он будет автоматически развернут и запущен всякий раз, когда кто-то откроет его с помощью этого шаблона URL:

https://gitpod.io/#<your-project-uri>

Развертывание существующего проекта в Gitpod

GitPod также имеет несколько примеров проектов, которые вы также можете запускать и развертывать здесь.

Если вы хотите развернуть этот пример приложения Next.js, посмотрите мое репо здесь

Следующие шаги

Если вы хотите узнать больше:

  1. Ознакомьтесь с руководством Начало работы
  2. Следите за сообщениями Полины и Майка в Twitter.
  3. Посетите их канал на YouTube
  4. Вот пара видеообзоров, как это работает: