Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

doc: Navigation and Scaffolding Fixes #4716

Merged
merged 2 commits into from
Feb 27, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
9 changes: 9 additions & 0 deletions docs/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,15 @@
* [Vulnerability Scanning (Clair)](user-guide/integrations/clair.md)
* [Notifications](user-guide/integrations/notifications.md)
* [Monitoring (Grafana)](user-guide/integrations/grafana.md)
* [Preset Plugins](user-guide/plugins/README.md)
* [K6 Load Testing](user-guide/plugins/k6-load-testing.md)
* [SonarQube](user-guide/plugins/sonarqube.md)
* [Dependency track - Python](user-guide/plugins/dependency-track-python.md)
* [Dependency track - NodeJS](user-guide/plugins/dependency-track-nodejs.md)
* [Dependency track - Maven & Gradle](user-guide/plugins/dependency-track-maven-gradle.md)
* [Semgrep](user-guide/plugins/semgrep.md)
* [Codacy](user-guide/plugins/codacy.md)
* [Copy Container Image](user-guide/plugins/copy-container-image.md)


## Resources
Expand Down
40 changes: 21 additions & 19 deletions docs/user-guide/creating-application/workflow/cd-pipeline.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,11 @@ A basic `Create deployment pipeline` window will pop up.

Here, you get three sections:

* [Deploy to Environment](#1-deploy-to-environment)
* [Deployment Strategy](#2-deployment-strategy)
* [Advanced Options](#3-advanced-options)
* [Deploy to Environment](#deploy-to-environment)
* [Deployment Strategy](#deployment-strategy)
* [Advanced Options](#advanced-options)

### 1. Deploy to Environment
### Deploy to Environment

This section expects three inputs from you:

Expand All @@ -28,7 +28,7 @@ This section expects three inputs from you:
| Namespace | Automatically populated based on the selected environment | Not Applicable |
| Trigger | When to execute the deployment pipeline | **Automatic**: Deployment triggers automatically when a new image completes the previous stage (build pipeline or another deployment pipeline) <br /> **Manual**: Deployment is not initiated automatically. You can trigger deployment with a desired image. |

### 2. Deployment Strategy
### Deployment Strategy

Devtron supports multiple deployment strategies depending on the [deployment chart type](../../creating-application/deployment-template.md#select-chart-from-default-charts).

Expand All @@ -40,7 +40,9 @@ Refer [Deployment Strategies](#deployment-strategies) to know more about each st
The next section is [Advanced Options](#advanced-options) and it comes with additional capabilities. However, if you don't need them, you may proceed with a basic CD pipeline and click **Create Pipeline**.
{% endhint %}

### 3. Advanced Options
---

## Advanced Options

This option is available at the bottom of the `Create deployment pipeline` window.

Expand All @@ -61,7 +63,7 @@ Now, the window will have 3 distinct tabs, and you will see the following additi
You can create or edit a deployment strategy in Advanced Options. Remember, only the default strategy will be used for deployment, so use the **SET DEFAULT** button to mark your preferred strategy as default after creating it.
{% endhint %}

#### Pre-Deployment Stage
### Pre-Deployment Stage

If your deployment requires prior actions like DB migration, code quality check (QC), etc., you can use the `Pre-deployment stage` to configure such tasks.

Expand Down Expand Up @@ -133,13 +135,13 @@ Make sure your cluster has [devtron-agent](../../global-configurations/cluster-a

* Deploy the chart in any environment within the Devtron cluster. Now you should be able to enable `Execute tasks in application environment` option for an environment of target cluster.

#### Deployment Stage
### Deployment Stage

##### Pipeline Name
#### Pipeline Name

Pipeline name will be auto-generated; however, you are free to modify the name as per your requirement.

##### Manual Approval for Deployment [![](https://devtron-public-asset.s3.us-east-2.amazonaws.com/images/elements/EnterpriseTag.svg)](https://devtron.ai/pricing)
#### Manual Approval for Deployment [![](https://devtron-public-asset.s3.us-east-2.amazonaws.com/images/elements/EnterpriseTag.svg)](https://devtron.ai/pricing)

If you want only approved images to be eligible for deployment, enable the `Manual approval for deployment` option in the respective deployment pipeline. By doing so, unapproved images would be prevented from being deployed for that deployment pipeline.

Expand All @@ -159,10 +161,10 @@ To enable manual approval for deployment, follow these steps:

To know more about the approval process, refer [Triggering CD](../../deploying-application/triggering-cd.md#manual-approval-for-deployment).

##### Custom Image Tag Pattern
#### Custom Image Tag Pattern

{% hint style="warning" %}
This will be utilized only when an existing container image is copied to another repository using the [Copy Container Image Plugin](../workflow/plugins/copy-container-image.md). The image will be copied with the tag generated by the Image Tag Pattern you defined.
This will be utilized only when an existing container image is copied to another repository using the [Copy Container Image Plugin](../../plugins/copy-container-image.md). The image will be copied with the tag generated by the Image Tag Pattern you defined.
{% endhint %}

1. Enable the toggle button as shown below.
Expand All @@ -183,9 +185,9 @@ This will be utilized only when an existing container image is copied to another

4. Click **Update Pipeline**.

To know how and where this image tag would appear, refer [Copy Container Image Plugin](../workflow/plugins/copy-container-image.md)
To know how and where this image tag would appear, refer [Copy Container Image Plugin](../../plugins/copy-container-image.md)

##### Pull Container Image with Image Digest
#### Pull Container Image with Image Digest

Although Devtron ensures that [image tags](#custom-image-tag-pattern) remain unique, the same cannot be said if images are pushed with the same tag to the same container registry from outside Devtron.

Expand All @@ -203,7 +205,7 @@ An image digest is a unique and immutable SHA-256 string returned by the contain
Users need to have Admin permission or above (along with access to the environment and application) to enable this option. However, this option will be non-editable in case the super-admin has enabled [pull image digest in Global Configurations](../../global-configurations/pull-image-digest.md).
{% endhint %}

#### Post-Deployment Stage
### Post-Deployment Stage

If you need to run any actions for e.g., closure of Jira ticket, load testing or performance testing, you can configure such actions in the post-deployment stages.

Expand Down Expand Up @@ -246,7 +248,7 @@ Deleting a CD pipeline also deletes all the K8s resources associated with it and

A deployment strategy is a method of updating, downgrading, or creating new versions of an application. The options you see under deployment strategy depend on the selected chart type (see fig 2). Below are some deployment configuration-based strategies.

#### 1. Blue-Green Strategy
#### Blue-Green Strategy

Blue-green deployments involve running two versions of an application at the same time and moving traffic from the in-production version \(the green version\) to the newer version \(the blue version\).

Expand All @@ -265,7 +267,7 @@ blueGreen:
| `previewReplicaCount` | It will indicate the number of replicas that the new version of an application should run |
| `autoPromotionEnabled` | It will make the rollout automatically promote the new ReplicaSet to the active service |

#### 2. Rolling Strategy
#### Rolling Strategy

A rolling deployment slowly replaces instances of the previous version of an application with instances of the new version of the application. Rolling deployment typically waits for new pods to become ready via a readiness check before scaling down the old components. If a significant issue occurs, the rolling deployment can be aborted.

Expand All @@ -280,7 +282,7 @@ rolling:
| `maxSurge` | No. of replicas allowed above the scheduled quantity |
| `maxUnavailable` | Maximum number of pods allowed to be unavailable |

#### 3. Canary Strategy
#### Canary Strategy

Canary deployments are a pattern for rolling out releases to a subset of users or servers. The idea is to first deploy the change to a small subset of servers, test it, and then roll the change out to the rest of the servers. The canary deployment serves as an early warning indicator with less impact on downtime: if the canary deployment fails, the rest of the servers aren't impacted.

Expand All @@ -307,7 +309,7 @@ canary:
| `setWeight` | It is the required percent of pods to move to the next step |
| `duration` | It is used to set the duration to wait to move to the next step |

#### 4. Recreate Strategy
#### Recreate Strategy

The recreate strategy is a dummy deployment that consists of shutting down version 'A' and then deploying version 'B' after version 'A' is turned off.

Expand Down