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
  • Introduction
  • Accessing Application Groups
  • Key Features
  • Building Application Images
  • Changing Configurations
  • Deploying Applications
  • Managing Traffic
  • Additional Features
  • Clone Pipelines
  • Hibernating and Unhibernating Apps
  • Restart Workloads
  • Filtering Applications
  • Changing Branch

Was this helpful?

Export as PDF
  1. Usage

Application Groups

PreviousOverviewNextSoftware Distribution Hub

Last updated 13 days ago

Was this helpful?

Introduction

Application groups in Devtron streamline the deployment of microservices by enabling you to build and deploy multiple applications simultaneously. This feature is particularly beneficial when your microservices are interdependent, as a change in one service often triggers the need to redeploy others.

Only one application group would exist for each . You cannot group applications belonging to different environments.


Accessing Application Groups

  1. From the left sidebar, go to Application Groups

    Figure 1: Application Group (Beta)
  2. You will see a list of environments. Select the environment to view the application group.

    Figure 2: List of Environments
  3. The application group would contain the applications meant for deployment in the chosen environment.

    Figure 3: Sample Application Group
  • Overview

  • Build & Deploy

  • Build history

  • Deployment history

  • Configurations


Key Features

Building Application Images

  1. Select the applications using the checkboxes and click the Build Image button present at the bottom.

Tip

  • Go to the Parameters tab.

  • Click + Add parameter.

  • Enter your key-value pair as shown below.

  • You may follow the above steps for other applications too, and then click Start Build.

  1. The builds will initiate, following which, you can close the Build image screen.

Changing Configurations

The Configurations tab of your application group allows you to configure the following:

As shown below, you can handle the configurations of more than one application from a single screen.

Deploying Applications

The Build & Deploy tab of your application group helps you deploy one or more applications in bulk.

  1. Select the applications using the checkboxes and click the Deploy button present at the bottom.

  2. Select the desired container image that you want to deploy for respective application.

    Repeat the step for other applications too.

  3. If you wish, you can deploy all applications in an Application Group using a single deployment strategy; select the preferred deployment strategy for all the applications and click Deploy. By default, all applications will be deployed using their respective default strategies.

  • Deployment feasibility page will open; in case for any application, the selected deployment strategy is not configured, you can select one of the configured strategies for that application. If you do not select a configured deployment strategy, deployment will be skipped for that particular application.

  1. The deployment will be initiated, following which, you can close the screen as shown below.

Once the deployment is successful, the pipelines will show Succeeded.

Managing Traffic

While deployment, Devtron allows you to manage your Canary and Blue-Green deployments by providing visibility and easy controls to manage how new versions (releases) are shared with users.

To do so, follow the below steps:

  1. Go to Overview and Click on Manage Traffic.

  2. Select the required applications, a side window will appear displaying all the eligible rollouts.

  3. You can take the following actions based on the deployment strategy of the application

  • For Canary Deployments, you can either choose to initiate the next step or to initiate the full rollout.

  • For Blue Green deployments, you can either choose to Swap Traffic, or you can choose Skip & Promote Full.

    • Swap Traffic: This will swap the traffic from the current deployment to the application latest deployment.

    • Skip & Promote Full: While deploying, this will directly deploy the whole traffic to application latest deployment.

  1. Click Initiate Eligible Rollouts to implement the actions.


Additional Features

Who Can Perform This Action?

Only superadmins can clone pipelines.

This feature aims at helping the user clone existing CI/CD pipelines for new target environments in multiple applications. The configurations present in the given CI/CD pipeline also get copied to the cloned pipelines (refer the below table).

Configuration Item
Cloning Behavior

Clones the source’s workflow CI as it is

Cloned, including Pre-CD and Post-CD scripts/plugins

Cloned, including Deployment Template (DT), ConfigMap (CM), and Secret

Not cloned

Cloned if at pipeline level; ignored if global

Not cloned (handled globally)

Cloned (handled at pipeline level)

Cloned

Not cloned

Mandatory Plugin

Not cloned

Cloned at pipeline level; ignored if global

Not cloned

Not cloned

Not cloned

Not cloned

Use Case: Let's say you have 'n' number of apps deployed to a development environment named dev-env. Later, a few testers joined your team, thus necessitating the addition of a testing environment (test-env) with those same apps deployed. Manually creating the pipelines and configuring them for test-env environment in each app might be impractical. Therefore, we recommend you to use the cloning feature.

Methods of Cloning

This feature gives you two methods of cloning:

  1. New Workflow: Creates a new workflow and clones the source CI and CD pipeline. Gives you the flexibility to tweak the cloned CI (e.g., changing code branch for build) too.

  2. Source Workflow: Uses the same workflow and clones only the source CD pipeline, thus keeping the original CI pipeline unchanged.

Steps to Clone Pipelines

  1. Go to Application Groups and click the source environment from the list.

  2. Select the applications whose pipelines you wish to clone and click Clone Pipeline Config.

  3. From the dropdown, select the target environment for which pipelines should be created for selected applications.

  4. Click Clone in new workflow or Clone in source workflow (depending on the option you selected in the previous step).

Note

The cloning process will skip if a CD pipeline (for the target environment) already exists in the chosen application's workflow. You can view this in the clone status generated after the above process.

Hibernating and Unhibernating Apps

Who Can Perform This Action?

Since every application comes with an option to hibernate, the same is true for application groups. Using application group, you can hibernate one or more applications belonging to the same environment if you do not want them to consume resources (replica count will be set to 0).

In other words, you can hibernate running applications or unhibernate hibernated applications as per your requirement.

Hibernation Process

  1. In the Overview page of your application group, use the checkboxes to choose the applications you wish to hibernate, and click the Hibernate button.

  2. Confirm the hibernation.

  3. Hibernation will initiate as shown below. You may close the window.

Your applications pods would be scaled down and would stop incurring costs.

Unhibernation Process

  1. In the same Overview page, you can use the checkboxes to choose the hibernated applications you wish to unhibernate, and click the Unhibernate button.

  2. Confirm the unhibernation.

  3. Unhibernation will initiate as shown below. You may close the window.

Your applications would be up and running in some time.

Restart Workloads

Who Can Perform This Action?

Restarting workloads might be necessary if you want your new code or configuration to come into effect, or you are experiencing issues like crashing of pods.

Using application group, you can select the workloads (i.e., Pod, Deployment, ReplicaSet, etc.) of specific applications and restart them.

  1. Use the checkboxes to choose the applications whose workloads you wish to restart, and click the Restart Workload button.

  2. Next to the application, click the workload dropdown to view all the individual workloads of an application. Choose only the ones you wish to restart.

    Moreover, you can easily select, deselect, or choose multiple workloads as shown below.

  3. Click Restart Workloads.

Restarting workloads might take time depending on the number of applications.

Filtering Applications

Assume you have multiple applications (maybe 10, 50, 100, or more) showing up in an application group. If you want to limit your operations (build/deploy/other) to a specific set of applications, the filter feature will help you narrow down the list. Thus, you will see only those applications you select from the filter (be it on the Overview page, Build & Deploy page, and so on.)

  1. Click the filter next to the application group as shown below.

  2. The filter will show all the applications present in the group. Click to select the relevant ones.

  3. The filter narrows down the list of applications as shown below.

  4. (Optional) If required, you can save the filter for future use by clicking Save selection as filter.

  5. Add a name and description to the filter to help you know its purpose, and click Save.

Now when you access the application group, your saved filter will be visible on top.

Permissions

1. Creating a filter

Users can create a filter if they have Admin/Manager access on all selected applications.

  • Case 1: User has Admin/Manager access on all selected applications

    User will be able to create a filter with all selected applications.

  • Case 2: User does not have Admin/Manager access on all selected applications

    User will not be able to create a filter.

  • Case 3: User selected 4 applications but has Admin/Manager access for only 2 of them

    User should be able to create filter with these 2 applications.

2. Editing a saved filter

Users can edit a saved filter if they have Admin/Manager access on all applications in the saved filter.

3. Deleting a saved filter

Users can delete a saved filter if they have Admin/Manager access on all applications in the saved filter.

Changing Branch

Who Can Perform This Action?

  1. In the Build & Deploy tab of your application group, select the intended applications and click the Change Branch button present at the bottom.

  2. Enter the new branch name. If your build pipeline has Branch Regex as the Source Type, you must ensure your new branch name matches the regex (regular expression) provided in that build pipeline. Once done, click Update Branch.

As you can see, it has similar options as available under :

Users need to have or above (along with access to the environment and applications) to view all the applications within a group.

First, we will walk you through the of Application Groups, followed by that will help you perform bulk actions.

The Build & Deploy tab of your application group enables you to trigger the of one or more applications in bulk.

Figure 4: Build Option

The Build image screen opens. Select the application and the for which you want to trigger the CI build.

Figure 5: Selecting Commit

Adding can help you quickly locate the container image from the list of images shown in Application Groups.

Similar to application, you can also in application groups before triggering the build.

Passing build parameters feature is only available in

Figure 6: Parameters Tab
Figure 7: Adding a Parameter
Figure 8: Entering Key-Value Pair
Figure 9: Choosing Commit for Other Application
Figure 10: Passing Build Parameters and Triggering Build
Figure 11: Triggered Deployment

Users need to have or above (along with access to the environment and applications) to trigger the build

Figure 12: Configurations of each App

Users need to have or above (along with access to the environment and applications) to change their configuration. Please note, you might not be able to change the values of locked keys in deployment template. Refer to know more.

Figure 13: Deploy Option
Figure 14: Selecting Image
Figure 15: Deploying Apps
Figure 16: Selecting Deployment Strategy
Figure 17: Deployment Feasibility
Figure 18: Triggered Deployment
Figure 19: Successful Deployment

Users need to have or above (along with access to the environment and applications) to initiate the deployment

Figure 20: Selecting Managing Traffic
Figure 21: Selecting Action for Canary Deployments
Figure 22: Selecting 'Swap Traffic'
Figure 23: Selecting 'Skip & Promote Full'
Figure 24: Clicking 'Initiate Eligible Rollouts'
Figure 25: Rollout Status

Clone Pipelines

Figure 26: New Workflow
Figure 27: Source Workflow
Figure 28: Source Environment Selection
Figure 29: Choosing Applications
Figure 30: Selecting Target Environment

Select the workflow where you wish to create deployment pipeline: New Workflow or Workflow as source environment. Refer to know which option will fulfill your requirement.

Figure 31: Creating CD Pipeline in Workflow
Figure 32: Initiating Clone

Users need to have or above (along with access to the environment and application) to hibernate or unhibernate applications.

Figure 33: Selecting Apps to Hibernate
Figure 34: Confirming Hibernation
Figure 35: Initiation Status of Hibernation
Figure 36: Selecting Hibernated Apps to Unhibernate
Figure 37: Confirming Unhibernation
Figure 38: Initiation Status of Unhibernation

Users need to have or above (along with access to the environment and application) to restart workloads in bulk.

Figure 39: Selecting Apps to Restart
Figure 40: Choosing Workloads
Figure 41: Selecting and Unselecting Workloads
Figure 42: Restarting Workloads
Figure 43: Filter Option
Figure 44: All Apps
Figure 45: Filtered Apps
Figure 46: Saving a Filter
Figure 47: Naming a Filter
Figure 48: Saved Filter

Users need to have or above (along with access to the environment and applications) to update their branch.

Assume you have a few applications whose fetch from the main branch of your code repository. However, you decided to maintain a master branch, and you want all the upcoming CI builds to consider the master branch as the source. Devtron provides you the option to change the branch at both levels—individual application as well as application group.

Figure 49: Changing Branch
Figure 50: Updating Branch Name
Applications
View only permission
key features
additional features
CI builds
commit
image labels
pass build parameters
Build and deploy permission
Deployment template
ConfigMaps
Secrets
Admin role
Lock Deployment Configuration
Build and deploy permission
Methods of Cloning
Build & deploy permission
Build & deploy permission
Admin role
build pipelines
CI Workflow
Pipeline Configuration
Environment Configuration
GitOps Configuration
Environment Policies
CD Filter
Protect Configurations
Deployment Approvals
Lock Configurations
Image Digest Policy
Promotion Policy
Deployment Window
Security Policy
Permissions
environment