Gitpod embraces Development Container
Oct 3, 2024
TL;DR: Gitpod now supports Development Container on Gitpod Flex.
When we started Gitpod over five years ago, we introduced the concept of dev-environments-as-code with .gitpod.yml
. Our vision has always been to automate and standardize development environments, making them reproducible and shareable. From Theia to OpenVS Code server, our relationship with Microsoft, and the technology built by the VS Code team, has been crucial in advancing containerized development and opening up the cloud development world.
The adoption of Development Containers is the next logical step in realizing our product vision. The VS Code team has been incredibly supportive in this journey, helping us to integrate Dev Containers in Gitpod Flex. We don’t simply read the format, we’ve deeply integrated it with our architecture to ensure a great developer experience.
Dev Containers form the foundation for describing base images, tools, and extensions and we’re committed to advancing the Dev Container specification, particularly in the context of cloud development environments.
When creating your development environment, you’ll need to choose between two scenarios for your Dev Container:
Single container setup: the simplest scenario runs everything you need inside a single container. It’s ideal for projects where one environment can handle your entire development stack. For instance, a Node.js application with all dependencies and tools in one container.
Multi-container setup + Docker Compose: for more complex projects that involve multiple services, like a web application with separate databases, including DockerCompose allows you to define and orchestrate multiple containers. Each service will operate in its own container, yet function together as a unified environment.
Building on this foundation, our team is actively working on Automations, a feature which complements and enhances the core Dev Container functionality. Automations are programmable tasks and services that run in development environments, enabling:
- Set up self-service actions like seeding databases or automated testing
- Manage external infrastructure lifecycles such as Kubernetes clusters
- Launch and run AI agents securely within your development environment
Head over to documentation for more information on the Dev Container integrations, Automations, and how to get started.
Last updated
Oct 3, 2024