AZ-400: Designing and Implementing Microsoft DevOps Solutions
Work with Azure Repos and GitHub
Innovating with GitHub Codespaces
Discover how GitHub Codespaces provides a cloud-based, flexible, and secure IDE that adapts to any workflow. Whether you’re collaborating on open source or scaling enterprise projects, Codespaces streamlines setup and accelerates development.
What Is GitHub Codespaces?
GitHub Codespaces is a fully managed, cloud-hosted development environment that brings Visual Studio Code to your browser or local VS Code client. It eliminates local machine setup and offers:
- Preconfigured containers defined by a
devcontainer.json
- Instant, on-demand workspaces that spin up in seconds
- Native GitHub integration for branch management, pull requests, and issue tracking
Getting Started with Codespaces
- Install the GitHub CLI:
brew install gh # macOS sudo apt install gh # Debian/Ubuntu
- Authenticate:
gh auth login
- Create a new Codespace:
gh codespace create --repo your-org/your-repo --branch main
- Open in VS Code (locally or browser):
gh codespace code
Note
You can customize your environment by adding a .devcontainer/devcontainer.json
file in your repo. See Developing inside a Container for examples.
Key Advantages of Using Codespaces
Feature | Benefit | Example CLI Command |
---|---|---|
Eliminate Legacy Limitations | Bypass outdated hardware or OS constraints | gh codespace list |
Enhanced Flexibility | Code from any device with a browser-based editor | Access via https://github.com/codespaces |
Robust Security Controls | Secure workspaces with built-in GitHub authentication | Integrated secrets and permission scopes |
Familiar IDE Experience | Same look-and-feel as VS Code | Use extensions and settings sync |
Device-Agnostic Access | No local setup; works on Windows, macOS, Linux, iPad | Supports SSH and VS Code Remote |
Local VS Code Integration | Seamlessly connect local VS Code to remote Codespace | Remote-SSH: Connect to Host… in Command Palette (Ctrl+Shift+P) |
Warning
Running Codespaces incurs cloud compute costs. Be sure to review your billing settings and stop idle codespaces to avoid unexpected charges.
How It Works
Container Configuration
Codespaces uses Docker containers defined by adevcontainer.json
. This specification ensures consistent tooling and dependencies across your team.Instant Provisioning
When you open a codespace, GitHub automatically builds your container image, checks out your code, and applies pre-defined tasks.Integrated Tooling
Enjoy built-in support for terminals, debugging, extensions, and Git operations—just like in your local VS Code.
Links and References
- GitHub Codespaces Documentation
- Visual Studio Code Remote Containers
- GitHub CLI
- Managing Codespaces Billing
Watch Video
Watch video content