> For the complete documentation index, see [llms.txt](https://circleci.com/docs/llms.txt)

# Manage releases

The steps outlined on this page guide you through the tasks required to manage your releases from the CircleCI web app.

This guide is for the CircleCI release agent. If you are using the CircleCI deploys feature, see the [Deployment and Deploy Management](https://circleci.com/docs/guides/deploy/deployment-overview/) guide.

## Prerequisites

Before following the steps below, ensure the environment integration has been set up and configured successfully. Refer to the [Set up the CircleCI Release Agent](https://circleci.com/docs/guides/deploy/set-up-the-circleci-release-agent/) and [Configure Your Kubernetes Components](https://circleci.com/docs/guides/deploy/configure-your-kubernetes-components/) pages for more information.

## Restore version

The **Restore Version** action restores a previously deployed version of a component.

> **Image:** Screenshot showing the restore version button

Figure 1. Restore version button

### Steps

The steps outlined here are to revert a deployment from the deploys dashboard in the CircleCI web app.

1.  Select **Deploys** in the CircleCI web app sidebar.
    
2.  You are now in the timeline view. Find your component in the timeline list, you can use the search bar to filter the list.
    
3.  Scroll to locate the version you want to restore, and select the "Restore this version" icon in the **Actions** column.
    
4.  Read through the recommendations in the popup. If you want to proceed, type `RESTORE`, then select **Restore**. We recommend reverting the associated changes in your source repository as soon as possible after using this action.
    

### Notes

To understand the **Restore Version** action, it may be helpful to understand the equivalent commands for Kubernetes Deployments, Helm, and Argo Rollouts. Selecting the **Restore Version** action from the CircleCI web app is the equivalent of using the following:

*   If you are using Helm (see [Helm Opt-in Instructions](https://circleci.com/docs/guides/deploy/configure-your-kubernetes-components/#helm-rollback)):
    
    ```shell
    helm rollback <release-name> <revision-number> -n <namespace>
    ```
    
*   If you are using Argo Rollouts and **not** Helm:
    
    ```shell
    kubectl argo rollouts undo <rollout-name> --to-revision=<revision_number>
    ```
    
    If `revision_number` is not supplied the component will be rolled back to the previous revision
    
*   For a Kubernetes Deployment:
    
    ```shell
    kubectl rollout undo deployment/<deployment-name> -n <namespace> --to-revision=<revision-number>
    ```
    

## Scale component

The **Scale Component** action allows you to scale up or down a currently live version of a component.

> **Image:** Screenshot showing the scale component button

Figure 2. Scale component button

### Steps

1.  Select **Deploys** in the CircleCI web app sidebar.
    
2.  Select the **Components** tab.
    
3.  Scroll or search to find and select your component to enter the component view.
    
4.  Select the "Active Versions" tab.
    
5.  Find the active version that you would like to scale and select the "Scale Component" icon.
    
6.  Read through the notes associated with this action in the popup. To proceed, type `SCALE` and select **Scale**.
    

Any Horizontal Pod Autoscalers (HPAs) defined for this component will be deleted as a result of this action.

### Notes

To understand the **Scale Component** action, it may be helpful to understand the equivalent commands for Kubernetes Deployments, Helm, and Argo Rollouts. Selecting the **Scale Component** action is the equivalent of the following:

*   If you are using Argo Rollouts:
    
    ```shell
    kubectl patch rollout <rollout_name> -n <namespace> --type='json' -p='[{"op": "replace", "path": "/spec/replicas", "value": <number_of_replicas>}]'
    ```
    
*   For a Kubernetes Deployment:
    
    ```shell
    kubectl patch deployment <deployment_name> -n <namespace> --type='json' -p='[{"op": "replace", "path": "/spec/replicas", "value": <number_of_replicas>}]'
    ```
    

## Restart component

The **Restart Component** action allows you to restart a currently live version of a component.

> **Image:** Screenshot showing the restart component button

Figure 3. Restart component button

### Steps

1.  Select **Deploys** in the CircleCI web app sidebar.
    
2.  Select the **Components** tab.
    
3.  Scroll or search to find and select your component to enter the component view.
    
4.  Select the "Active Versions" tab.
    
5.  Find the active version that you would like to restart and select the "Restart Component" icon.
    
6.  Read the note associated with this action in the popup. To proceed, type `RESTART` and select **RESTART**.
    

### Notes

To understand the **Restart Component** action, it may be helpful to understand the equivalent commands for Kubernetes Deployments, Helm, and Argo Rollouts. Executing the **Restart Component** action is the equivalent of the following:

*   If you are using Argo Rollouts:
    
    ```shell
    kubectl patch rollout my-rollout -n my-namespace --type='json' -p='[{"op": "replace", "path": "/spec/restartAt", "value": <timestamp>}]'
    ```
    
*   For a Kubernetes Deployment:
    
    ```shell
    kubectl rollout restart deployment/<deployment-name> -n <namespace>
    ```
    

## Retry Rollout

You can use this action if you are using [Argo Rollouts](https://argoproj.github.io/argo-rollouts/)

Use the **Retry Rollout** action to retry a Rollout that has failed. For more information about this action, see [Argo Rollout retry](https://argo-rollouts.readthedocs.io/en/latest/generated/kubectl-argo-rollouts/kubectl-argo-rollouts_retry/).

> **Image:** Screenshot showing the retry Rollout button

Figure 4. Retry Rollout button

### Steps

1.  Select **Deploys** in the CircleCI web app sidebar.
    
2.  You are now in the timeline view. Find your component in the timeline list, you can use the search bar to filter the list.
    
3.  Scroll to locate the failed or cancelled deployment you want to retry. Select the version number to enter the deployment details page.
    
4.  Select **Retry Rollout**.
    

### Notes

Selecting the **Retry Rollout** action is the equivalent to running:

```yml
kubectl argo rollouts retry <rollout-name> -n=<namespace>
```

## Promote

You can use these actions if you are using [Argo Rollouts](https://argoproj.github.io/argo-rollouts/).

Use the **Promote** or **Promote All** action to progress a deployment that is paused at a step. You have the following options:

*   Promote a single step.
    
*   Skip the step.
    
*   **Promote All** to skip all steps and complete the deployment.
    

The **Promote** a step and **Promote All** options are visible in the step view on the deployment details page. Access this view by selecting a version number in the deploys UI.

> **Image:** Screenshot showing the promote deploy step options

Figure 5. Promote options

For more information on the Rollouts Promote commands see the [Argo Rollouts docs for Rollouts Promote](https://argo-rollouts.readthedocs.io/en/stable/generated/kubectl-argo-rollouts/kubectl-argo-rollouts_promote/).

### Steps

1.  Select **Deploys** in the CircleCI web app sidebar.
    
2.  You are now in the timeline view. Find your component in the timeline list, you can use the search bar to filter the list.
    
3.  Scroll to locate the running deployment you want to promote. Select the version number to enter the deployment details page.
    
4.  You will now see the **Promote** and **Promote All** options. Select **Promote** to promote the deployment as required. The action is run immediately with no intermediary checks.
    

### Notes

Selecting a _Promote_ action is equivalent to the following:

*   Promote a single step:
    
    ```shell
    kubectl argo rollouts promote <rollout-name>
    ```
    
*   Promote all:
    
    ```shell
    kubectl argo rollouts promote --full <rollout-name>
    ```
    

## Cancel Rollout

Use the **Cancel Rollout** action to stop a deployment from progressing, and revert all steps. For more information see the [Argo Rollouts docs for Rollouts Abort](https://argo-rollouts.readthedocs.io/en/stable/generated/kubectl-argo-rollouts/kubectl-argo-rollouts_abort/).

You can use this action if you are using [Argo Rollouts](https://argoproj.github.io/argo-rollouts/)

> **Image:** Screenshot showing the cancel Rollout button

Figure 6. Cancel Rollout

### Steps

1.  Select **Deploys** in the CircleCI web app sidebar.
    
2.  You are now in the timeline view. Find your component in the timeline list, you can use the search bar to filter the list.
    
3.  Scroll to locate the running deployment you want to cancel. Select the version number to enter the deployment details page.
    
4.  Select **Cancel Rollout**.
    

### Notes

Selecting the **Cancel Rollout** action is the equivalent to running:

```yml
kubectl argo rollouts abort <rollout-name> -n=<namespace>
```