Dev Environments in CodeCatalyst - Amazon CodeCatalyst

Dev Environments in CodeCatalyst

Dev Environments are cloud-based development environments. In Amazon CodeCatalyst, you use Dev Environments to work on the code stored in the source repositories of your project. When creating a Dev Environments, you have several options:

  • Create a project-specific Dev Environment in CodeCatalyst to work on code with a supported integrated development environment (IDE).

  • Create an empty Dev Environment, clone code into it from a source repository, and work on that code with a supported IDE.

  • Create a Dev Environment in an IDE and clone a source repository into the Dev Environment

A devfile is an open standard YAML file that standardizes your Dev Environments. In other words, this file codifies the required development tools for your Dev Environment. As a result, you can quickly set up a Dev Environment, switch between projects, and replicate the Dev Environment configuration across team members. Dev Environments minimize the time that you spend creating and maintaining a local development environment, because they use a devfile that configures all of the tools you need to code, test, and debug for a given project.

The project tools and application libraries included in your Dev Environment are defined by the devfile in the source repository of your project. If you don't have a devfile in your source repository, CodeCatalyst automatically applies a default devfile. This default devfile includes tools for the most frequently used programming languages and frameworks. If your project was created using a blueprint, a devfile is automatically created by CodeCatalyst. For more information about the devfile, see https://devfile.io.

After you've created a Dev Environment, only you can access it. In your Dev Environment, you can view and work on your source repository's code in a supported IDE.

By default, a Dev Environment is configured to have a 2-core processor, 4 GB of RAM, and 16 GB of persistent storage. If you have Space administrator permissions, you can change the billing tier for your space to use different Dev Environment configuration options and manage compute and storage limits. Here is one possible workflow for a Dev Environment:

Akua Mansa is a new developer at Example Corp. Akua joined her new team just before a new version release of the team's product. Akua's team needs her to work on a new feature for the upcoming version of the product promptly. To avoid an extensive setup process, Akua accepts an invitation to join her team's CodeCatalyst project. She then assigns herself the related issue and creates a Dev Environment from an existing branch of her team's source repository. Akua's Dev Environment opens the source repository's code in her chosen IDE. The open IDE instance is connected to her Dev Environment which contains a devfile that has been automatically identified and applied. The devfile specifies all of the tools that she needs to get started. Akua writes the code for the new product feature, commits her code changes, pushes her changes to the existing branch, and then deletes her Dev Environment when her work is complete. Akua has contributed code to her new team's source repository without a lengthy setup process.