Application Groups
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 environment. You cannot group applications belonging to different environments.
Accessing Application Groupsโ
Users need to have View only permission or above (along with access to the environment and applications) to view all the applications within a group.
-
From the left sidebar, go to Application Groups

-
You will see a list of environments. Select the environment to view the application group.

-
The application group would contain the applications meant for deployment in the chosen environment.

As you can see, it has similar options as available under Applications:
- Overview
- Build & Deploy
- Build history
- Deployment history
- Configurations
First, we will walk you through the key features of Application Groups, followed by additional features that will help you perform bulk actions.
Key Featuresโ
Building Application Imagesโ
Users need to have Build and deploy permission or above (along with access to the environment and applications) to trigger the build.
The Build & Deploy tab of your application group enables you to trigger the CI builds of one or more applications in bulk.
-
Select the applications using the checkboxes and click the Build Image button present at the bottom.

-
The
Build imagescreen opens. Select the application and the commit for which you want to trigger the CI build.
Adding image labels can help you quickly locate the container image from the list of images shown in Application Groups.
- Similar to application, you can also pass build parameters in application groups before triggering the build.
-
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.


-
The builds will initiate, following which, you can close the
Build imagescreen.
Changing Configurationsโ
Users need to have Admin role 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 Lock Deployment Configuration to know more.
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โ
Users need to have Build and deploy permission or above (along with access to the environment and applications) to initiate the deployment.
The Build & Deploy tab of your application group helps you deploy one or more applications in bulk.
-
Select the applications using the checkboxes.

-
You can also trigger Pre-deployment stage or Post-deployment stage for your applications in bulk.
-
To trigger Pre-deployment stage, click the droupup next to Deploy and select Trigger Pre-deployment stage.
-
To trigger Post-deployment stage, click the droupup next to Deploy and select Trigger Post-deployment stage.

-
- The dropup appears only if your workflow has Pre-deployment stage or Post-deployment stage configured for the selected environment.
- If both stages are configured, the dropup will display options for triggering Pre-deployment and Post-deployment stages.
- If only one stage is configured, the dropup will show the option for triggering that specific stage.
-
After selecting the applications, click the Deploy button present at the bottom.

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

Repeat the step for other applications too.

-
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.

- 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.
-
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.
You can go to the App Details tab to have a bird's-eye view of your application, view application metrics, and even perform quick actions (e.g., restarting workloads). Refer to App Details for more information.
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:
-
Go to Overview and click Manage Traffic.

-
Select the required applications, a side window will appear displaying all the eligible rollouts.
-
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.

-
-
Click Initiate Eligible Rollouts to implement the actions.


Additional Featuresโ
Clone Pipelines
โ
Only a Super-Admin 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 |
|---|---|
| CI Workflow | Clones the sourceโs workflow CI as it is |
| Pipeline Configuration | Cloned, including Pre-CD and Post-CD scripts/plugins |
| Environment Configuration | Cloned, including Deployment Template (DT), ConfigMap (CM), and Secret |
| GitOps Configuration | Not cloned |
| Environment Policies | Cloned if at pipeline level,ignored if global |
| CD Filter | Not cloned (handled globally) |
| Protect Configurations | Cloned (handled at pipeline level) |
| Deployment Approvals | Not cloned (handled globally) |
| Lock Configurations | Not cloned |
| Mandatory Plugin | Not cloned |
| Image Digest Policy | Cloned at pipeline level, ignored if global |
| Promotion Policy | Not cloned |
| Deployment Window | Not cloned |
| Security Policy | Not cloned |
| Permissions | 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:
-
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.

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

Steps to Clone Pipelinesโ
-
Go to Application Groups and click the source environment from the list.

-
Select the applications whose pipelines you wish to clone.
-
A floating widget will appear at the bottom. Click the
โฎmenu and then click Clone Pipeline Config.- Alternatively, you may access Clone Pipeline Config from the
โฎmenu next to the application name.

- Alternatively, you may access Clone Pipeline Config from the
-
From the dropdown, select the target environment for which pipelines should be created for selected applications.

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

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

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โ
Users need to have Build & deploy permission or above (along with access to the environment and application) to hibernate or unhibernate applications.
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โ
-
In the Overview page of your application group, use the checkboxes to choose the applications you wish to hibernate.
-
A floating widget will appear at the bottom. Click the Hibernate button.
- Alternatively, you may access Hibernate from the
โฎmenu next to the application name.

- Alternatively, you may access Hibernate from the
-
Confirm the hibernation by clicking Hibernate.

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

Your applications pods would be scaled down and would stop incurring costs.
- The hibernation process will show the status as
Skippedfor the applications which are already hibernated. - The hibernation process will show the status as
Failedfor the applications which have no deployment history.
Unhibernation Processโ
-
In the Overview page of your application group, use the checkboxes to choose the applications you wish to unhibernate.
-
A floating widget will appear at the bottom. Click the Unhibernate button.
- Alternatively, you may access Unhibernate from the
โฎmenu next to the application name.

- Alternatively, you may access Unhibernate from the
-
Confirm the unhibernation by clicking Unhibernate.

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

Your applications would be up and running in some time.
- The unhibernation process will show the status as
Skippedfor the applications which are already running. - The unhibernation process will show the status as
Failedfor the applications which have no deployment history.
Restart Workloadsโ
Users need to have Build & deploy permission or above (along with access to the environment and application) to restart workloads in bulk.
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.
-
In the Overview page of your application group, use the checkboxes to choose the applications you wish to restart.
-
A floating widget will appear, click the Restart Workloads button.
- Alternatively, you may access Restart Workload from the
โฎmenu next to the application name.

- Alternatively, you may access Restart Workload from the
-
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.

-
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.)
-
Click the filter next to the application group as shown below.

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

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

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

-
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.

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โ
Users need to have Admin role or above (along with access to the environment and applications) to update their branch.
Assume you have a few applications whose build pipelines 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.
-
In the Build & Deploy tab of your application group, select the intended applications and click the Change Branch button present at the bottom.

-
Enter the new branch name. If your build pipeline has
Branch Regexas 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.
Changing Image Sourceโ
Users need to have Admin role or above (along with access to the environment and applications) to update their branch.
The Change Image Source feature in Devtron lets you update the container image source for an applicationโs workflow without modifying it.
-
In the Build & Deploy tab of your application group, select the preferred workflows and click the Change Image Source button present at the bottom.

-
Select the preferred Workflow template, and enter the required details as per the workflow template. Currently, Change Image Source feature for Application Groups is only supported for Build from Source Code and Sync with Environment.
-
Build from Source Code
-
After selecting Build from Source Code, a feasibility check will run. You can click Create Build Pipeline only if the application's feasibility shows
Can change.Note: Application for which the feasibility shows
Cannot changewill be skipped due to following reasons:Multi git material found at the source, not allowed to change the sourceNo cd pipeline found for the selected app and env combinationInvalid request, trying to create self loop, cannot create sync-cd source pipeline with source environment in same workflow


-
A pop-up window will open, enter the Source Type and Branch under Select code source.

-
Click Create Pipeline. A modal window will appear showing the status of the image source change.

-
-
Sync with Environment
-
After selecting Sync with Environment, a modal window will open.

-
Select the environment from which you want to sync your workflow, and then click Next.

-
A feasibility check will run. You can click Change Image Source only if the application's feasibility is marked as
Can change.Note: Application for which the feasibility shows
Cannot changewill be skipped due to following reasons:Multi git material found at the source, not allowed to change the sourceNo cd pipeline found for the selected app and env combinationInvalid request, trying to create self loop, cannot create sync-cd source pipeline with source environment in same workflow

-
Click Change Image Source. A modal window will appear showing the operation status.

-
-
-
The image source is applied to all selected workflows where the feasibility check passed.