Ona: Complete Guide & Tutorial

Category: Guide & Tutorial Views: 0

Ona screenshot
Ona Official Website Screenshot

Introduction

Welcome to this comprehensive tutorial for Ona, a powerful cloud-based platform designed to streamline software development through sandboxed environments and intelligent engineering agents. Whether you are a solo developer, a team lead, or a DevOps engineer, Ona offers a flexible solution that allows you to run full Visual Studio Code (VS Code) directly in your browser, on your desktop, or even on your mobile phone. This cross-device capability ensures that you can pick up your work from anywhere, without the hassle of setting up local environments.

Ona is not just a remote IDE; it is a complete ecosystem that integrates with popular version control systems like GitHub and GitLab, as well as multiple IDEs including VS Code, Vim, JetBrains, Cursor, and Windsurf. The platform’s standout feature is its ability to run background agents that handle various stages of the software development lifecycle—from code review and testing to deployment. These agents operate in sandboxed environments, which can be hosted either in Ona’s cloud or within your own Virtual Private Cloud (VPC), giving you full control over security and compliance.

This tutorial is designed for beginners and experienced developers alike. We will walk you through the basics of getting started, explore the key features in depth, provide practical instructions on how to use the platform, and share tips to maximize your productivity. By the end of this guide, you will have a solid understanding of how to leverage Ona for efficient, secure, and mobile-friendly development.

Getting Started

Creating Your Ona Account

To begin using Ona, navigate to the official website at https://www.gitpod.io/ (note that Ona is built on Gitpod technology, and you will be redirected to the appropriate sign-up page). Click on the “Get Started” or “Sign Up” button. You can register using your GitHub, GitLab, or Bitbucket account, which streamlines the integration process. Alternatively, you can sign up with your email address and create a password.

Once your account is created, you will be prompted to connect your preferred version control provider. This step is essential because Ona uses your repositories to create development environments. Grant the necessary permissions—Ona will only access the repositories you explicitly authorize.

Understanding the Dashboard

After logging in, you will see the Ona dashboard. This is your central hub for managing projects, environments, and agents. The dashboard is clean and intuitive, with the following main sections:

  • Projects: A list of all repositories you have connected. You can filter by provider (GitHub, GitLab, etc.) or search by name.
  • Environments: Shows your active and stopped sandboxed environments. Each environment is a fully configured development workspace.
  • Agents: Displays the background agents you have configured for tasks like testing, linting, or deployment.
  • Settings: Where you can manage your account, billing, VPC connections, and integrations.

Take a moment to explore these sections. You will notice that Ona automatically detects the programming language and framework of your projects, suggesting appropriate environment configurations.

Setting Up Your First Environment

To create your first development environment, click on the “New Environment” button. You will be asked to select a repository. Choose one of your GitHub or GitLab projects. Ona will then analyze the repository’s structure—looking for files like package.json, Dockerfile, or .gitpod.yml—and propose a default configuration. You can accept this or customize it.

For a beginner-friendly approach, accept the default configuration. Ona will provision a cloud-based virtual machine with VS Code pre-installed and ready to use. The process takes about 30 seconds to a minute, depending on the project size. Once ready, you will see a “Open in Browser” button. Click it to launch VS Code directly in your browser tab.

If you prefer to use a desktop IDE, you can also choose “Open in VS Code Desktop” (requires VS Code installed locally) or “Open in JetBrains”. Ona provides a seamless bridge between the cloud environment and your local IDE.

Key Features

Sandboxed Development Environments

Every environment created by Ona is sandboxed, meaning it runs in an isolated container. This isolation ensures that your development work does not interfere with other projects or with your local machine. You can install dependencies, run databases, or even start servers without worrying about conflicts. The sandbox can be hosted either in Ona’s cloud (fully managed) or in your own VPC. The VPC option is ideal for enterprises that require data to remain within their own network boundaries. You can configure this in the Settings section under “VPC Integration”.

Full VS Code in Browser and on Mobile

Ona’s most impressive feature is its ability to run a full instance of VS Code inside a web browser. This is not a stripped-down version; it includes all extensions, themes, and terminal access. You can edit code, run debuggers, and even use Git commands directly from the browser. For mobile users, Ona provides a responsive interface that adapts to smaller screens. While coding on a phone is not ideal for heavy tasks, it is perfect for reviewing pull requests, fixing a single line of code, or checking logs while on the go.

Background Agents for the SDLC

Ona introduces the concept of “agents”—automated processes that run in the background of your environments. These agents can be configured to perform tasks such as:

  • Continuous Integration (CI): Automatically run tests whenever you push code.
  • Code Linting: Check for style and syntax errors.
  • Dependency Updates: Scan for outdated packages and suggest updates.
  • Deployment: Push code to staging or production servers after successful tests.

Agents are highly autonomous. Once configured, they run without manual intervention. You can monitor their progress from the Agents tab on the dashboard.

Integration with Multiple IDEs and VCS

Ona is not limited to VS Code. It supports a wide range of IDEs including Vim (via terminal), JetBrains IDEs (like IntelliJ IDEA, PyCharm, WebStorm), Cursor, and Windsurf. This flexibility means you can use your preferred editor while still benefiting from Ona’s cloud infrastructure. Additionally, Ona integrates deeply with GitHub and GitLab. For example, you can set up a button in your GitHub repository that says “Open in Ona”, allowing contributors to instantly spin up a development environment.

How to Use

Creating and Managing Environments

To create a new environment, go to the “Environments” tab and click “New Environment”. Select a repository, choose a branch (optional, defaults to main), and click “Start”. Ona will boot up a container with all necessary tools. Once the environment is running, you will see a status indicator (green for active, yellow for starting, red for stopped).

You can stop an environment at any time by clicking the “Stop” button. Stopping an environment saves its state, so you can resume later without losing your work. However, note that stopped environments may be garbage-collected after a period of inactivity (configurable in Settings). To delete an environment permanently, use the “Delete” option.

Working with Agents

To configure a background agent, navigate to the “Agents” tab. Click “New Agent”. You will be prompted to choose a task type. For example, select “Run Tests” and then specify the command (e.g., npm test or pytest). You can set triggers: “On Push”, “On Pull Request”, or “Manual”. For beginners, start with “Manual” to test the agent. Once created, you can run it from the agent’s detail page.

For advanced users, agents can be defined in a .gitpod.yml file in your repository. This file can specify multiple agents, environment variables, and even Docker images. Here is a simple example:

Example .gitpod.yml:
tasks:
- name: Test Agent
command: npm test
trigger: push

Once you push this file to your repository, Ona will automatically pick it up and create the agent.

Using VS Code on Mobile

To access your environment on a mobile device, open your phone’s browser and log into your Ona account. Navigate to the “Environments” tab and click “Open in Browser” for a running environment. The interface will adjust to your screen size. You can use the built-in file explorer, edit code, and run terminal commands. For typing long code, consider connecting a Bluetooth keyboard. The mobile experience is best for quick edits, reviewing code, or monitoring agent logs.

Integrating with Your VPC

If your organization requires environments to run within your own network, go to Settings > VPC Integration. You will need to provide your cloud provider details (AWS, Azure, or GCP) and configure a VPC peering connection. Ona provides a detailed guide for each provider. Once connected, you can select “My VPC” when creating a new environment. All traffic and data will stay within your network.

Tips

Optimize Your .gitpod.yml File

Take the time to customize the .gitpod.yml file for each project. This file can pre-install dependencies, set environment variables, and even open specific files or terminals when the environment starts. For example, you can configure it to open a terminal with a database server running, so you don’t have to start it manually every time.

Use Prebuilds for Faster Starts

Ona offers a feature called “prebuilds”. When enabled, Ona will build your environment in advance every time you push to a branch. This means that when you or a team member opens that branch, the environment is ready almost instantly. Prebuilds are especially useful for large projects with many dependencies. You can enable prebuilds in the repository settings within Ona.

Leverage Multiple Environments for Parallel Work

You can run multiple environments simultaneously. This is useful if you need to work on different features or bug fixes at the same time. Each environment is isolated, so you can test different configurations without conflicts. Just be mindful of resource usage—each environment consumes CPU and memory from your Ona plan.

Secure Your Agents

When configuring agents that interact with production systems (e.g., deployment agents), always use environment variables to store sensitive data like API keys or database passwords. Ona supports encrypted environment variables that are only accessible to the agent at runtime. Never hardcode secrets in your .gitpod.yml file.

Collaborate with Team Members

Ona allows you to share environments with your team. In the environment’s detail page, click “Share” and generate a link. Anyone with the link can join the environment and collaborate in real-time. This is perfect for pair programming or debugging sessions. Note that shared environments are read-only by default, but you can grant write access if needed.

Monitor Resource Usage

Keep an eye on your environment’s resource usage from the dashboard. If you notice slowdowns, you can upgrade your plan to get more CPU and memory. Alternatively, consider stopping unused environments to free up resources. Ona provides a usage graph that shows your consumption over time, helping you make informed decisions.

Explore the Extension Marketplace

Even though you are working in a browser or on mobile, you can still install VS Code extensions. Open the Extensions panel (Ctrl+Shift+X) and search for any extension you need. Extensions persist across sessions as long as the environment is not deleted. This allows you to customize your development experience just like you would on a local machine.

By following this tutorial, you should now be comfortable setting up and using Ona for your software projects. The platform’s combination of sandboxed environments, background agents, and cross-device accessibility makes it a valuable tool for modern development. Start small, experiment with agents, and gradually adopt more advanced features as you become familiar with the platform. Happy coding!

Ona
🔧 Tool Featured in This Tutorial

Ona

Mission control for software projects and engineering agents.