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
  • 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
      • 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)
      • 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
  • Steps to Configure Build Infra
  • Default Profile
  • Creating Custom Profile
  • Attaching Profile
  • Editing or Deleting Profile
  • Need More Options?
  • Extras
  • CPU Units
  • Memory Units
  • Timeout Units

Was this helpful?

Export as PDF
  1. Global Configurations

Build Infra

PreviousImage Promotion PolicyNextDevtron Upgrade

Last updated 11 months ago

Was this helpful?

Introduction

The involves activities that require infra resources such as CPU, memory (RAM), and many more. The amount of resources required depends on the complexity of the application. In other words, large applications require more resources compared to small applications.

Therefore, applying a common infra configuration to all applications is not optimal. Since resources incur heavy costs, it's wise to efficiently allocate resources (not more, not less).

With the 'Build Infra' feature, Devtron makes it possible for you to tweak the resources as per the needs of your applications. The build (ci-runner) pod will be scheduled on an available node (considering applied taints and tolerations) in the cluster on which 'Devtron' is installed.

Who Can Perform This Action?

Users need to have super-admin permission to configure Build Infra.


Steps to Configure Build Infra

From the left sidebar, go to Global Configurations → Build Infra.

Figure 1: Global Configurations - Build Infra

Default Profile

This contains the default infra configuration applicable to all the applications, be it large or small.

You may click it to modify the following:

Furthermore, CPU and Memory have 2 fields each:

  • Request - Use this field to specify the minimum guaranteed amount of CPU/Memory resources your application needs for its CI build. In our example, we required 1500m or 1.5 cores CPU along with 6 GB of RAM.

  • Limit - Use this field to set the maximum amount of CPU/Memory resources the build process can use, even if there is a lot available in the cluster.

Instead of default profile, you can create custom profiles having different infra configurations. Example: One profile for Python apps, a second profile for large apps, and a third profile for small apps, and many more.

  1. Click Create Profile.

  2. Give a name to the profile along with a brief description, and select the configurations to specify the values.

  3. Click Save. Your custom profile will appear under the list of custom profiles as shown below.

Attaching Profile

  1. Go to the Applications tab.

  2. Choose an application and click the dropdown below it.

  3. Choose the profile you wish to apply from the dropdown.

  4. Click Change to apply the profile to your application.

Tip: If you missed creating a profile but selected your application(s), you can use the 'Create Profile' button. This will quickly open a new tab for creating a profile. Once done, you can return and click the refresh icon as shown below.

Performing Bulk Action

If you wish to apply a profile to multiple applications at once, you can do that too.

Simply use the checkboxes to select the applications. You can do this even if there are many applications spanning multiple pages. You will see a draggable floating widget as shown below.

Select the profile you wish to apply from the dropdown and confirm the changes.

Once you apply a profile, it will show the count of applications attached to it.

Editing or Deleting Profile

You can edit or delete a custom profile using the respective icons as shown below.

Need More Options?


Extras

CPU Units

CPU resources are measured in millicore. 1000m or 1000 millicore is equal to 1 core. If a node has 4 cores, the node's CPU capacity would be represented as 4000m.

Memory Units

Memory is measured in bytes. You can enter memory with suffixes (E, P, T, G, M, K, and Ei, Pi, Ti, Gi, Mi, Ki).

Symbol
Prefix
Value (Bytes)

m

-

0.001 byte

byte

-

1 byte

k

Kilo

1,000 bytes

Ki

Kibi

1,024 bytes

M

Mega

1,000,000 bytes

Mi

Mebi

1,048,576 bytes

G

Giga

1,000,000,000 bytes

Gi

Gibi

1,073,741,824 bytes

T

Tera

1,000,000,000,000 bytes

Ti

Tebi

1,099,511,627,776 bytes

P

Peta

1,000,000,000,000,000 bytes

Pi

Petabi

1,125,899,906,842,624 bytes

E

Exa

1,000,000,000,000,000,000 bytes

Ei

Exabi

1,152,921,504,606,846,976 bytes

Timeout Units

You can specify timeouts in the following units, beyond which the build process would be marked as failed:

  • seconds

  • minutes

  • hours

You will see the and a list of (if they exist). Setting up profiles makes it easier for you to manage the build infra configurations, ensuring its reusability in the long term.

Figure 2: Default Profile

CPU - Processor core allocated to the build process. See .

Memory - RAM allocated to the build process. See .

Build Timeout - Max. time limit allocated to the build process. See .

Figure 3: Editing Default Profile

Creating Custom Profile

Figure 4: Creating Custom Profile
Figure 5a: Empty Profile
Figure 5b: Filled Profile
Figure 6: Listed Profile

Once you create a profile, attach it to the intended applications, or else the will remain applied.

Figure 7: Applications Tab
Figure 8: Profile Dropdown
Figure 9: Selecting a Profile
Figure 10: Confirming Profile Change
Figure 11: Quick Profile Creation
Figure 12: Floating Widget
Figure 13: Selecting a Profile
Figure 14: Count of Applications
Figure 15: Edit and Delete Icons

If you delete a profile attached to one or more applications, the will apply from the next build.

Figure 16: Confirm Profile Deletion

If you need extra control on the build infra configuration apart from CPU, memory, and build timeout, feel free to open a for us to help you.

GitHub issue
Default Profile
Custom Profiles
CPU units
memory units
timeout units
default profile
default profile
CI process