CodeCatalyst concepts - Amazon CodeCatalyst

Amazon CodeCatalyst is in preview release and is subject to change.

CodeCatalyst concepts

Using Amazon CodeCatalyst to collaborate and develop applications is easier if you understand the concepts and terms used in CodeCatalyst, including the terms used in source control, continuous integration and continuous delivery (CI/CD), and modeling and configuring automated release processes. Here are some of the concepts to know about as you use CodeCatalyst.

For additional conceptual information, see the following topics:

Space

A space represents your company, department, or group. You must create a space to add projects, members, and the associated cloud resources you create in CodeCatalyst. When a user accepts an invitation to a project, CodeCatalyst automatically adds them to the space. Users with the Space administrator role have permissions to manage the space.

For more information about spaces see Spaces in CodeCatalyst.

Projects

A project is a collaboration space in CodeCatalyst that supports development teams and tasks. After you have a project, you can add, update, or remove resources, customize your project dashboard, and monitor the progress of your team's work. You can have multiple projects within a space.

For more information about projects, see Projects in CodeCatalyst.

Blueprints

A blueprint is a project synthesizer that generates and extends application support files and dependencies for you, along with creating your CodeCatalyst project in the console. You choose a project type from a selection of blueprints in CodeCatalyst, view the README file, and preview the project repository and resources that will be generated. Your project is generated from the base configuration specified by the blueprint. You synthesize to the project blueprint periodically, which updates your project files, such as software dependencies, and regenerates resources. Projects use a tool called Projen to synthesize projects by syncing the latest project updates and generating support files such as package.json, Makefile, eslint, and more based on your application type and language. Project blueprints can generate files supporting AWS resources such as CDK constructs, AWS CloudFormation templates, and SAM templates.

For more information about project blueprints, see Project blueprint reference.

Account connections

An account connection is used to set up a CodeCatalyst space with the AWS account you want to make available to the space. After your account connection is set up, you add IAM roles that you want to use for your CodeCatalyst workflow actions or to access AWS resources.

For more information about account connections, see Working with AWS accounts in Amazon CodeCatalyst.

AWS Builder ID

An AWS Builder ID is a personal identity you can use to sign up and sign in to CodeCatalyst and other participating applications. It is not the same as an AWS account. Your AWS Builder ID manages metadata such as user alias and email address. Your AWS Builder ID is a unique identity that supports users across all spaces in CodeCatalyst. For information about accessing your AWS Builder ID profile, see Updating your profile. To learn more about AWS Builder ID, see AWS Builder ID in the AWS General Reference.

For more information about signing up and signing in, see Setting up CodeCatalyst.

User profiles in CodeCatalyst

You access your CodeCatalyst user profile by choosing the profile option from the drop-down under your login initials on any page in CodeCatalyst. You can create personal access tokens (PATs) from your profile page, but you can only view or delete PATs using the AWS CLI. Your user name is the alias you chose when you signed up. You cannot change your user name. To view the profile page for another CodeCatalyst user, go to the Members tab for your project and choose the appropriate user.

You access your AWS Builder ID by viewing your CodeCatalyst profile and then choosing to go to AWS Builder ID. You will be redirected to your AWS Builder ID profile page. Your profile's full name, email address, and password are managed by your AWS Builder ID, and you can edit that information using the AWS Builder ID page. You entered this information when you signed up. When you are ready to set up MFA to use an authenticator application for signing in, you will use the AWS Builder ID page. For more information about viewing your AWS Builder ID profile, see Updating your profile.

For more information about signing up and signing in, see Setting up CodeCatalyst.

Source repositories

A source repository is where you securely store code and files for your project. It also stores the version history of your files. By default, a source repository is shared with the other users in your CodeCatalyst project. You can have more than one source repository for a project. You can create source repositories for projects in CodeCatalyst. You can also choose to link an existing source repository hosted by another service if that service is supported by an installed extension. For example, you can link a GitHub repository to a project after you install the GitHub Repositories extension. For more information, see Working with source repositories in CodeCatalyst and Quickstart: Using GitHub repositories in CodeCatalyst.

Source repositories are also where configuration information is stored for your CodeCatalyst project, such as the configuration file that defines the attributes and actions of your CI/CD workflow. If you create your project using a blueprint, a source repository will be created with project configuration information stored inside it. If you create an empty project, you must create a source repository before you can create resources that require configuration information, such as workflows.

For more concepts that can help you work with source repositories and source control, see Source repository concepts.

Commits

A commit is a change to a file or set of files. In the Amazon CodeCatalyst console, a commit saves your changes and pushes them to a source repository. The commit includes information about the change, including the identity of the user who made the change, the time and date of the change, the commit title, and any message included about the change. For more information, see Working with commits in Amazon CodeCatalyst.

In the context of a source repository in CodeCatalyst, commits are snapshots of the changes to the contents of your repository. Every time a user commits and pushes a change, CodeCatalyst saves information that includes who committed the change, the date and time of the commit, and the changes made as part of the commit. You can also add Git tags to commits to help identify specific commits.

For more information about commits, see Working with commits in Amazon CodeCatalyst.

Dev Environments

A Dev Environment is a cloud-based development environment that you can use in CodeCatalyst to quickly work on the code stored in the source repositories of your project. The project tools and application libraries included in your Dev Environment are defined by a devfile in the source repository of your project. If you do not have a devfile in your source repository, a default devfile that includes tools for the most frequently used programming languages and frameworks will be applied automatically. By default, a Dev Environment is configured to have a 2-core processor, 4GB of RAM, and 16GiB of persistent storage.

Workflows

A workflow is an automated procedure that describes how to build, test, and deploy your code as part of a continuous integration and continuous delivery (CI/CD) system. A workflow defines a series of steps, or actions, to take during a workflow run. A workflow also defines the events, or triggers, that cause the workflow to start. To set up a workflow, you create a workflow definition file using the CodeCatalyst console's visual or YAML editor.

For more information about workflows, see Build, test, and deploy with workflows in CodeCatalyst.

Issues

An issue is a record that tracks the work related to your project. You can create an issue for a feature, a task, a bug, or any other body of work related to your project. If you are using agile development, an issue can also describe an epic or user story.

For more information about issues, see Issues in CodeCatalyst.

Personal access tokens (PATs)

A personal access token (PAT) is similar to a password. It is associated with your user identity for use across all spaces and projects in CodeCatalyst. You use PATs to access CodeCatalyst resources that include integrated development environments (IDEs) and source repositories from third-party applications (such as Git). PATs represent you in CodeCatalyst and you can manage them in your user settings. A user can have more than one PAT. Personal access tokens only display once. As a best practice, be sure to store them securely on your local computer. By default, PATs expire after one year.

For more information about PATs, see Managing personal access tokens in Amazon CodeCatalyst.

Roles

A role defines a user's access to the resources for a project or a space and which actions that user can take. You choose the role for a user when you invite them to a project. There are space-level roles and project-level roles in CodeCatalyst. A user with an administrative role at the correct level can change assigned roles. For example, a user with the Project administrator role for a project has full control over that project and can change the roles of users in that project. For information about which roles are available and which permissions each role has, see Working with roles in Amazon CodeCatalyst.

For more information about roles, see Working with roles in Amazon CodeCatalyst.