Releases overview
このページの内容
- Introduction
- Quickstart
- How it works
- Concepts
- Component
- Delivery
- Deployment
- Command
- Release
- The releases UI
- The dashboard
- View all releases for a release environment
- View all commands run for a release environment
- View all releases for a component
- View all commands run for a component
- Requirements
- Tooling
- Labels and annotations
- Release status
- Known limitations
- Troubleshooting
- Why is my Deployment/Rollout not showing up in the components tab or releases timeline view?
- Why is my release is stuck in the Running state?
- Why are no new releases are showing up? and/or why are component versions not being updated?
- Why is restore version using Helm is timing out?
- Why is the restore version button not available for a component version?
- Why are all buttons (Promote, Promote All and Cancel) disabled for a release?
- Why are all commands for my component failing?
- Next steps
Visualise and control your deployments with CircleCI releases. Deployments to Kubernetes and Amazon SageMaker are supported.
Introduction
CircleCI releases gives you visibility into your Kubernetes deployments within the CircleCI web app, as well as access to commands and visualisations for release management. From the CircleCI web app, you can:
-
Restore version
-
Scale component
-
Restart component
We support Argo Rollouts for progressive delivery. Currently the canary deployment strategy is supported, but in a future release blue-green will also be supported. Some further controls are available for projects that use Argo Rollouts:
-
Retry release
-
Promote release
-
Cancel release
Quickstart
If you want to get started with CircleCI releases for Kubernetes right away, you can jump to:
To get set up with releases for Amazon SageMaker, refer to the Deploy to Amazon SageMaker page.
How it works
CircleCI integrates with your Kubernetes cluster to give you visibility and control over your release process through the CircleCI web app. We currently support Kubernetes Deployments and Argo Rollouts.

Configure a release environment to install the CircleCI release agent into your Kubernetes cluster. Configure the release agent to only monitor the namespaces you require.
Developers can monitor releases in the CircleCI web app, and run commands to manage those releases from the UI. Commands are monitored by CircleCI and relayed to the release agent, which then runs the commands for you.
Concepts
The sections below explain some key software delivery concepts. Understanding these concepts will help you take full advantage of CircleCI’s release features.
Component
A component in CircleCI is a collection of code and configuration that is deployed and released as a single unit. In Kubernetes terms, this would be a Deployment or Rollout object along with the related objects such as Pods, ReplicaSets, etc. that share a common circleci.com/component-name
label.
Delivery
Delivery is the act of packaging code changes and making them available for Deployment. Continuous delivery is the prerequisite step for continuous deployment. With some variations on the technologies being used, the delivery process creates executables from code and then makes them available from a repository to be deployed to an environment at a subsequent time.
Deployment
Deployment is the act of putting a new component version into an environment, regardless of whether users and other services interact with the new version or a previous one. Depending on the deployment type, a release may happen as a later task (such as switching over traffic shaping rules for a blue/green deployment) or as a direct consequence of the deployment (such as a standard Kubernetes rolling update).
Command
A command is a user-initiated action CircleCI performs on the user’s behalf to manipulate a specific component. These actions are run asynchronously via our release agent and the results are reported back to the CircleCI web app where you can see them in the releases dashboard, similar to how step output works for CI jobs.
Some commands are available for all components. These are:
-
Restore version
-
Scale component
-
Restart component
A subset of commands are available for progressive releases (when using Argo Rollouts). These are:
-
Retry release
-
Promote release
-
Cancel release
Release
A release is the act of updating a component to a new version in a specific environment, causing it to become available to an audience of users and other services.
A release can happen when an existing component is updated or when the first version for a new component is deployed.
In the releases dashboard, releases are tagged as Progressive if they refer to an Argo Rollout.
A release starts when the component version is updated, and ends when the new version has reached 100% availability, and all associated validations have been completed. In the case of a progressive release, this happens when the Rollout completes. In the case of a Deployment, this happens when the Deployment replicas are all available and ready.
The releases UI
The CircleCI releases UI is a powerful tool for visualising, monitoring and managing your releases. The pages included in the releases UI are described below.
The dashboard

Select Releases in the CircleCI web app sidebar to enter the releases dashboard. The dashboard shows the following:
-
Timeline: A timeline of releases for all components in your release environment. You can use the filter drop down at the top to select a component. Information you see here includes live status updates, release trigger source, release version, release type (for example, progressive, when you are using an Argo Rollout). From here you can access:
-
The release details page for a specific release by clicking on the status badge or version number
-
The component or release environment details pages by clicking on the respective names
-
The project dashboard for the CircleCI project associated with a release
-
The job details page in the CircleCI web app for the deployment job that kicked off the release
-
The commit details page in your VCS for the commit that started the deployment
-
-
Environments: List of release environments set up for your organization. From here you can:
-
Access settings for each environment ()
-
Access the environment details view by clicking on the release environment name
-
-
Components: A list of components and their associated projects. From here you can:
-
Get straight to the component’s project building on CircleCI
-
Access the component detail view
-
View all releases for a release environment
To view all releases for a release environment, follow these steps:
-
Select Releases in the CircleCI web app sidebar
-
You are now in the timeline view. Select the Environments tab
-
Click to select your environment by name
-
You are now on the environment details page. Select the Releases tab to view a list of all releases for your chosen environment
View all commands run for a release environment
To view all commands run for a release environment, follow these steps:
-
Select Releases in the CircleCI web app sidebar
-
You are now in the timeline view. Select the Environments tab
-
Click to select your environment by name
-
You are now on the environment details page. Select the Commands tab to view a list of all commands that have been run for your chosen environment
View all releases for a component
To view all releases for a component, follow these steps:
-
Select Releases in the CircleCI web app sidebar
-
You are now in the timeline view. Select the Components tab
-
Click to select your component by name. You can use the filter at the top of the page to help
-
You are now on the component details page. Select the Releases tab to view a list of all releases for your chosen component
View all commands run for a component
To view all commands run for a component, follow these steps:
-
Select Releases in the CircleCI web app sidebar
-
You are now in the timeline view. Select the Components tab
-
Click to select your component by name. You can use the filter at the top of the page to help
-
You are now on the component details page. Select the Commands tab to view a list of all commands run for your chosen component
Requirements
Tooling
We test the versions listed here. Older versions may work but are not guaranteed.
Tool | Tested versions |
---|---|
Kubernetes | 1.29.0 |
Helm | 3.12.0 |
Argo Rollouts (optional) | 1.6.0 |
Labels and annotations
The following table shows a complete list of labels and annotations either required or available for configuring your release environment.
Label/annotation | Value | Required? | |
---|---|---|---|
|
| A name for your application | Yes |
|
| Current version | Yes |
|
| See above | Yes |
|
| See above | Yes |
|
|
| No. Used to enable linking between deploy job and release |
|
|
| No. Used to enable linking between deploy job and release |
|
|
| No. Used to enable linking between deploy job and release |
|
| Project ID for the CircleCI project associated with the job that deploys your component | Yes |
|
| A Go duration string, for example, 5m, 10m15s | No. Only needed to set a custom timeout duration. This option is only available if you are using Helm to configure your Kubernetes resources. |
|
|
| No. Only set if you want to disable the restore version feature for your component. |
|
|
| No. Only set if you want to disable the scale component feature for your component. |
|
|
| No. Only set if you want to disable the restart component feature for your component. |
|
|
| No. Only set if you want to disable the retry release feature for your component. |
|
|
| No. Only set if you want to disable the promote release feature for your component. |
|
|
| No. Only set if you want to disable the cancel release feature for your component. |
Release status
Releases can be in one of the following states:
Status | Notes |
---|---|
RUNNING | The release is currently in progress |
FAILED | Resources have reached an unhealthy status (pods for the new version of a Kubernetes component) |
SUCCESS | The Deployment or Rollout has all desired resources available (all pods specified by a Kubernetes Deployment or Argo Rollout) |
CANCELLED | The release has been cancelled, either using the |
EXPIRED | Release commands failed to be picked up by the release agent within the required time window |
Known limitations
-
Restarting the release agent while a release is ongoing will cause the release agent to lose track of the release status and fail to update the CircleCI services accordingly.
-
In the CircleCI releases UI it is currently possible for you to attempt and restore a version that does not exist. All releases are presented in the UI, including those outside of the scope of any version history limits you might have set. We do not currently filter out releases for which there is no longer any data.
Depending on your setup, you will have options for configuring revision history limits:
revisionHistoryLimit
for Kubernetes and Argo Rollouts, and$HELM_MAX_HISTORY
for Helm.If you have these limits set, you can not restore a version outside the limit. For example, if your limit is set to the last 10 releases, you can not restore the 11th deployment back.
We are working on updates to:
-
Indicate out-of-scope releases
-
Prevent you from attempting to restore unavailable releases
-
Provide a manual way for you to mark releases as unavailable
-
Troubleshooting
Why is my Deployment/Rollout not showing up in the components tab or releases timeline view?
-
Check that the Deployment/Rollout is annotated with the required labels. More information is available in the Set up guides. If the required labels were not present, then adding them should solve the problem.
-
If you are using a Deployment, check that the desired replicas is not set to
0
. Deployments with0
replicas are not reported as releases, even if they are scaled up subsequently. The configured value can be seen on the release agent deployment in thecircleci-release-agent-system
namespace. Here is an example in which the number of desired replicas is 2:apiVersion: apps/v1 kind: Deployment metadata: name: sample-deployment namespace: sample-namespace spec: replicas: 2
-
Check that the Deployment/Rollout is in a namespace managed by the release agent. This can be verified by checking the
MANAGED_NAMESPACES
environment variable on the release agent deployment in thecircleci-release-agent-system
namespace. Here is an example in which only the default namespace is being managed:apiVersion: apps/v1 kind: Deployment metadata: name: circleci-release-agent namespace: circleci-release-agent-system spec: template: spec: containers: - env: - name: MANAGED_NAMESPACES value: default
Why is my release is stuck in the Running
state?
-
If you are using a Deployment, check whether it was deleted before the release could complete. In this scenario, this is an expected behavior. This experience will be improved upon in future release agent updates.
-
If you are using a Deployment, check whether the release agent restarted before all pods for the deployment could become ready. This is a known limitation that will be addressed in future updates of the release agent. Restarting a release agent while a release is ongoing will cause the release agent to lose track of the release status and fail to update the CircleCI services accordingly.
Why are no new releases are showing up? and/or why are component versions not being updated?
-
Check whether the token used by the release agent has been revoked:
-
Select Releases in the CircleCI web app sidebar
-
Click Configure Environments to enter the release environments view
-
Click to select your environment to view valid token details, including when the token was last used.
If the token has been last used longer than a minute ago, then this is likely to be the problem.
-
-
Check whether tokens are being shared between multiple release environments. This is not supported. Check this by following these steps:
-
Retrieve the token value from the token field in the
circleci-release-agent
secret in thecircleci-release-agent-system
namespace -
Compare the value with the partially obscured value for the available Tokens in the CircleCI web app
If the token does not show up in the list, then it has been revoked or the value configured on the release agent is incorrect. In either case, creating a new token and reinstalling the Release Agent with the new value should solve the issue.
-
Why is restore version
using Helm is timing out?
The time required for a Helm-based restore version to complete successfully is dependent on the specific configuration of the target component. For example, a large number of replicas will lead to a longer duration, which could cause a timeout. It is possible to specify a different timeout by adding the circleci.com/operation-timeout
annotation to the Rollout or Deployment. The default value for this is 10 minutes. For steps see the Configure your Kubernetes components page.
Why is the restore version button not available for a component version?
Check whether the component has been undeployed. If there are currently no live versions for a component, the Restore Version button will not be visible for that component until at least one version has been deployed.
Why are all buttons (Promote, Promote All and Cancel) disabled for a release?
Check whether the release is a Rollback. If this is the case, then this is a known issue that will be solved in a future update to the CircleCI release agent.
Why are all commands for my component failing?
Check if the error message is “invalid or missing project ID“. In this case the component is missing a valid Project ID.