Try Devtron Enterprise!
Start Free Trial
LogoLogo
WebsiteDevtron demoGithub RepoJoin Discord
main
main
  • Introduction
  • Getting Started
  • Install Devtron
    • Install Devtron with CI/CD
    • Install Devtron with CI/CD and GitOps (Argo CD)
    • Install Devtron without Integrations
    • Install Devtron on Minikube, Microk8s, K3s, Kind, Cloud VMs
    • Install Devtron on Airgapped Environment
    • Demo on Popular Cloud Providers
    • Backup for Disaster Recovery
    • Uninstall Devtron
    • FAQs
  • Install Devtron Enterprise Trial
  • Devtron Kubernetes Client
  • Production Infra Recommendations
  • Configurations
    • Installation Configurations
    • Override Configurations
    • Ingress Setup
  • Global Configurations
    • Host URL
    • GitOps
    • Projects
    • Clusters & Environments
    • Git Accounts
    • Container/OCI Registry
    • Chart Repositories
    • Deployment Charts
    • Authorization
      • SSO Login Services
        • Google
        • GitHub
        • GitLab
        • Microsoft
        • LDAP
        • OIDC
          • Keycloak
          • Okta
        • OpenShift
      • User Permissions
      • Permission Groups
      • API Tokens
    • Notifications
    • Deployment Window
    • Approval Policy
    • External Links
    • Catalog Framework
    • Scoped Variables
    • Plugin Policy
    • Pull Image Digest
    • Tags Policy
    • Filter Condition
    • Lock Deployment Configuration
    • Image Promotion Policy
    • Build Infra
  • Devtron Upgrade
    • Update Devtron from Devtron UI
    • Upgrade to 1.5.0
    • 0.6.x-0.7.x
    • 0.5.x-0.6.x
    • 0.4.x-0.5.x
    • 0.4.x-0.4.x
    • 0.3.x-0.4.x
    • 0.3.x-0.3.x
    • 0.2.x-0.3.x
  • Usage
    • Applications
      • Create a New Application
      • Clone an Existing Application
      • Deploy a Sample Application
      • App Configuration
        • Git Repository
        • Build Configuration
        • Base Deployment Template
          • Deployment
          • Rollout Deployment
          • Job and Cronjob
          • StatefulSets
        • GitOps Configuration
        • Workflow Editor
          • CI Pipeline
            • Pre-Build/Post-Build Stages
            • Override Build Configuration
          • CD Pipeline
        • ConfigMaps
        • Secrets
          • External Secret Operator (ESO)
            • AWS Secrets Manager
            • Google Secrets Manager
            • HashiCorp Vault
        • Environment Overrides
        • Deleting Application
      • Build and Deploy
        • Triggering CI
        • Triggering CD
        • Rollback Deployment
        • Applying Labels to Images
      • App Details
        • Debugging Deployment And Monitoring
        • Using Ephemeral Containers
        • Application Metrics
        • Deployment Visibility & Actions
      • Application Overview
    • Jobs
      • Create a new job
      • Configurations
      • Workflow Editor
      • Trigger Job
      • Overview
    • Application Groups
    • Software Distribution Hub
      • Tenants
      • Release Hub
    • Resource Browser
    • Resource Watcher
    • Charts
      • Charts Overview
      • Deploy & Observe
      • Examples
        • Deploying Mysql Helm Chart
        • Deploying MongoDB Helm Chart
      • Chart Group
    • Security
      • Security Scans
      • Security Policies
    • Bulk Edit
    • Integrations
      • Build and Deploy (CI/CD)
      • GitOps (Argo CD)
      • Vulnerability Scanning
        • Clair
        • Trivy
      • Notifications
      • Monitoring (Grafana)
    • Pipeline Plugins
      • Create Your Plugin
      • Our Plugins
        • Ansible Runner
        • Bitbucket Runner Trigger
        • Codacy
        • Code-Scan
        • Copacetic
        • Container Image Exporter
        • Copy Container Image
        • Cosign
        • CraneCopy
        • Dependency track - Maven & Gradle
        • Dependency track - NodeJS
        • Dependency track - Python
        • Devtron CD Trigger
        • Devtron CI Trigger
        • Devtron Job Trigger
        • DockerSlim
        • EKS Create Cluster
        • GCS Create Bucket
        • GitHub Pull Request Updater
        • GKE Provisioner
        • GoLang-migrate
        • Jenkins
        • Jira Issue Validator
        • Jira Issue Updater
        • K6 Load Testing
        • Pull images from container repository
        • Semgrep
        • SonarQube
        • SonarQube v1.1.0
        • Terraform CLI
        • Vulnerability Scanning
  • Resources
    • Glossary
    • Troubleshooting
    • Use Cases
      • Devtron Generic Helm Chart To Run CronJob Or One Time Job
      • Connect SpringBoot with Mysql Database
      • Connect Expressjs With Mongodb Database
      • Connect Django With Mysql Database
      • Pull Helm Charts from OCI Registry
    • Telemetry Overview
    • Devtron on Graviton
    • Release Notes
Powered by GitBook
On this page
  • Reviewing Configuration Differences
  • Manual Approval for Deployment
  • Requesting for Image Approval
  • Extras
  • Accepting Image Approval Request
  • Deploying Approved Image

Was this helpful?

Export as PDF
  1. Usage
  2. Applications
  3. Build and Deploy

Triggering CD

PreviousTriggering CINextRollback Deployment

Last updated 2 hours ago

Was this helpful?

After the is complete, you can trigger the CD pipeline.

  1. Go to the Build & Deploy tab of your application and click Select Image in the CD pipeline.

    Figure 1: 'Select Image' Button
  2. Select an image for deployment.

    Figure 2: Selecting an Image for Deployment

However, if an image is already deployed, you can identify it by the tag Active on <Environment name>.

  1. If in any scenario, such as deploying a hotfix, if you need to use a different deployment strategy other than the default, you can select a different deployment strategy.

  2. Click Deploy to trigger the CD pipeline.

Reviewing Configuration Differences

Before triggering a deployment, if you’ve made any changes to the environment configurations, you can review the configuration differences between your Last Deployed Configurations (old configurations) and your Last Saved Configurations (new configurations) by clicking the Config Diff button. After reviewing, you can choose whether to deploy using the updated configurations or stick with the previously deployed ones.

  1. Click the Config Diff button to review the changes; a modal window will appear.

  2. You can compare configuration differences for various resources, including the Deployment template, Pipeline Configurations, ConfigMaps, and Secrets.

  3. To compare changes for a specific resource, select it from the left side of the modal window under Deployment Configurations.

  4. The right panel displays a side-by-side comparison between the Last Deployed and Last Saved configurations for the selected resource. You can review the configuration differences for each resource before triggering the deployment.

  5. After reviewing, select whether you want to trigger the deployment with Last Saved Config (new configurations) or Last Deploy Config (old configurations).

  6. Select Deploy to trigger the deployment.

If no approved images are available or the current image is already deployed, you won't see any images for deployment when clicking Select Image.

Requesting for Image Approval

To request an image approval, follow these steps:

  1. Navigate to the Build & Deploy page, and click the Approval for deployment icon.

  2. Click the Request Approval button present on the image for which you want to request an approval and click Submit Request.

    The users you selected will receive an approval request via email. Any user with 'Image approver' permission alongwith access to the given application and given environment would be able to approve the image.

Extras

  • In case you wish to cancel the image approval request, you can do so from the Approval pending tab as shown in the below image.

  • If you've received an approval but no longer want the image to be deployable, you can let the approval expire.

Accepting Image Approval Request

By default, super-admin users are considered as the default approvers. Users who build the image and/or request for its approval, cannot self-approve it even if they have super-admin privileges.

To approve an image approval request, follow these steps:

  1. Go to the Build & Deploy page and click the Approval for deployment button.

  2. Switch to the Approval pending tab. Here, you will get a list of images that are awaiting approval.

  3. Click Approve followed by Approve Request button.

Deploying Approved Image

To deploy an approved image, follow these steps:

  1. Navigate to the Build & Deploy tab and click Select Image.

  2. You will find all the approved images listed under the Approved images section. From the list, you can select the desired image and deploy it to your environment.

  3. You can view the status of current deployment in the App Details tab.

The status initially appears as Progressing for approximately 1-2 minutes, and then gradually transitions to Healthy state based on the deployment strategy.

Here, our CD pipeline trigger was successful and the deployment is in Healthy state.

Figure 3: Currently Deployed Image

Note: You can only select the deployment strategies that are configured for that pipeline. Refer to the to learn more.

Figure 4: Selecting Deployment Strategy

In case you have made any changes in the environment configurations (such as changing deployment strategy, modifying ConfigMaps & Secrets, etc.) since the last deployment, use the Config Diff button to compare the new configurations with the last deployed configurations before deploying. Refer to to learn more.

Figure 5: Clicking 'Config Diff' button
Figure 6: Selecting Resource
Figure 7a: Comparing Deployment Template
Figure 7b: Comparing Pipeline Configurations
Figure 7c: Comparing ConfigMaps
Figure 7d: Comparing Secrets
Figure 8: Selecting Configuration For Deployment
Figure 9: Triggering The Deployment

Manual Approval for Deployment

When for the deployment pipeline configured in the workflow, you are expected to request for an image approval before each deployment. Alternatively, you can deploy images that have already been approved once.

Figure 10: No Approved Image

Users need to have or above (along with access to the environment and application) to request for an image approval.

Figure 11: Approval Button
Figure 12: Requesting Approval

In case you have configured , you can directly choose the approver(s) from the list of approvers as shown below.

Figure 13: Choosing Approvers
Figure 14: Cancelling Request
Figure 15: Expiring an Approval

Users with Approver permission (for the specific application and environment) can also approve a deployment. This permission can be granted to users from present in .

In case or was configured in Devtron, and the user chose the approvers while raising an image approval request, the approvers would receive an email notification as shown below:

Figure 16: Email Notification to the Approver
Figure 17: Approval Button
Figure 18: List of Pending Approvals
Figure 19: Approving a Request

Users need to have or above (along with access to the respective environment and application) to select and deploy an approved image.

In case the super-admin has set the minimum number of approval to more than 1 (in ), you must wait for all approvals before deploying the image. In other words, partially approved image will not be eligible for deployment.

Figure 20: Approval Count
Figure 21: Select Image Button
Figure 22: List of Approved Images
Figure 23: 'App Details' Screen

To further diagnose the deployments,

CD Pipeline
Reviewing Configurations Differences
manual approval is enabled
Build & deploy permission
SES or SMTP on Devtron
User Permissions
Global Configurations
SES
SMTP
Build & deploy permission
workflow
click here
CI pipeline