<!-- llms-index: https://docs.gradle.com/develocity/llms.txt -->

<a id="component-eol-banner"></a>

You are viewing **Develocity Documentation 2025.3**. To view the latest available version of the docs, see [2026.1](https://docs.gradle.com/develocity/2026.1/quickstart/aws-ec2-quickstart-guide/).

# Deploy Develocity on AWS EC2

Estimated Effort: **15 minutes**

<a id="preamble"></a>

This setup is intended for evaluation and testing purposes **only**. It’s **not recommended** for production environments.

This guide does **not** include SSL setup because it’s intended solely for evaluation purposes; **always** enable SSL in production environments.

This tutorial doesn’t work on [GovCloud accounts](https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/whatis.html) (us-gov regions).

<a id="overview"></a>

## 1. Overview

This guide will walk you through quickly deploying Develocity on an Amazon EC2 instance. It assumes that you have a basic understanding of AWS and EC2.

If you’re not familiar with AWS and EC2 and looking for more detailed step-by-step instructions, follow the [Amazon EC2 Standalone Installation Guide](https://docs.gradle.com/develocity/2025.3/installation/aws/aws-ec2-standalone/) for more detailed information.

This guide will use the [AWS Management Console](https://aws.amazon.com/console/) to create an EC2 instance, and you will use the [Amazon EC2 console](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-methods.html#ec2-instance-connect-connecting-console) to connect to the instance.

You will use the [Build Scan® example project](https://github.com/gradle/gradle-build-scan-quickstart/tree/main) for publishing your first Build Scan to your Develocity instance.

<a id="prerequisites"></a>

## 2. Before You Start

Before you start following the guide, ensure that you complete the following prerequisites:

*   An [AWS paid account](https://aws.amazon.com/), a [free tier](https://aws.amazon.com/free/) account isn’t sufficient.
    
*   Access to EC2: You should be familiar with launching and managing EC2 instances.
    
*   An AWS IAM user with the _AmazonEC2FullAccess_ AWS managed policy.
    
*   [A Develocity license](https://docs.gradle.com/develocity/2025.3/installation/standalone-installation/#get_license). If you have purchased Develocity or started a trial, you should already have a license file called develocity.license. Otherwise, you may request a Develocity trial license
    
*   `curl` (locally)
    
*   `git` (locally)
    
*   A terminal (locally)
    

<a id="launch_ec2"></a>

## 3. Launch an EC2 Instance

*   Log in to the AWS Console:
    
    *   Go to the AWS Management Console and sign in with your credentials
        
    
*   Launch an EC2 Instance:
    
    *   Navigate to the EC2 Dashboard and select **Launch instance**.
        
    *   Select the [Ubuntu 24.04 AMI for the x86\_64 architecture](https://aws.amazon.com/marketplace/pp/prodview-s4zvkzmlirbga)
        
    *   Choose the [t2.2xlarge](https://aws.amazon.com/ec2/instance-types/t2/) instance type
        
    
*   Configure the instance with the following settings:
    
    *   Key pair (login):
        
        *   (Select your key pair)
            
        
    *   Network settings:
        
        *   Assign public IP (needed for the Amazon EC2 console)
            
        *   Select **Create security group**
            
        *   Allow SSH (Default Anywhere 0.0.0.0/0)
            
        *   Configure the Security Group to allow HTTPS access (port 443)
            
        *   Configure the Security Group to allow HTTP access (port 80)
            
        
    *   Configure storage:
        
        *   Add 20GiB of storage using a [gp3 volume](https://aws.amazon.com/ebs/general-purpose/)
            
        
    
*   Launch the Instance:
    
    *   Review your configurations and launch the instance by selecting **Launch instance**
        
    

🔍 **Example configuration**

![AWS EC2 Dashboard](https://docs.gradle.com/develocity/2025.3/quickstart/aws-ec2-quickstart-guide/../_images/ec2-quickstart-guide/ec2-qs-aws-ui-1.png)

AWS EC2 Dashboard

![AWS EC2 Instance Type Selection](https://docs.gradle.com/develocity/2025.3/quickstart/aws-ec2-quickstart-guide/../_images/ec2-quickstart-guide/ec2-qs-aws-ui-2.png)

AWS EC2 Instance Type Selection

![AWS EC2 Instance Key Configuration](https://docs.gradle.com/develocity/2025.3/quickstart/aws-ec2-quickstart-guide/../_images/ec2-quickstart-guide/ec2-qs-aws-ui-3.png)

AWS EC2 Instance Key Configuration

![AWS EC2 Instance Network configuration](https://docs.gradle.com/develocity/2025.3/quickstart/aws-ec2-quickstart-guide/../_images/ec2-quickstart-guide/ec2-qs-aws-ui-4.png)

AWS EC2 Instance Network configuration

![AWS EC2 Instance Storage Configuration](https://docs.gradle.com/develocity/2025.3/quickstart/aws-ec2-quickstart-guide/../_images/ec2-quickstart-guide/ec2-qs-aws-ui-5.png)

AWS EC2 Instance Storage Configuration

Once the instance is running, navigate to the EC2 Dashboard **EC2**  **Instances**, select your newly created instance and write down the **Public IPv4 DNS**, you will need this URL during the installation.

<a id="installation"></a>

## 4. Installation

The installation process involves uploading your Develocity license, downloading the installation script, and running it on your EC2 instance.

<a id="connect_to_instance"></a>

### 4.1. Connect to the Instance

1.  In the AWS Management Console, navigate to **EC2**  **Instances** and select your instance.
    
2.  Choose **Connect**.
    
3.  On the **EC2 Instance Connect** tab, choose **Connect**.
    

A browser-based terminal opens. Run the following commands to update the instance before proceeding:

```shell
sudo apt update -y && sudo apt upgrade -y
```

If prompted to restart services or reboot, do so before continuing.

<a id="upload_license_to_instance"></a>

### 4.2. Upload Your Develocity License to the EC2 Instance

On the instance, create a new file called `develocity.license`, copy-and-paste your Develocity license into this file and save it.

<a id="download_script_and_validation"></a>

### 4.3. Download and Validate the Installation Script

Download the `ec2-install.sh` and the `ec2-install.sh.sha256` files from [GitHub](https://github.com/gradle/develocity-quickstart-scripts/tree/main/AWS/EC2) by running the following `curl` commands:

Download the script:

```shell
curl -O https://raw.githubusercontent.com/gradle/develocity-quickstart-scripts/refs/heads/main/AWS/EC2/ec2-install.sh
```

Download the checksum for validation:

```shell
curl -O https://raw.githubusercontent.com/gradle/develocity-quickstart-scripts/refs/heads/main/AWS/EC2/ec2-install.sh.sha256
```

Validate the script against the checksum:

```shell
sha256sum -c ec2-install.sh.sha256
```

**Output:**

```
ec2-install.sh: OK
```

The values generated by the sha256sum utility must match. If they’re different, your download is incomplete or corrupted. You will need to download the files again.

If, after several attempts, you can’t download a copy of the file that produces a valid checksum value, you should open a support case to report the problem.

Adjust the permissions of the script to make it executable for your user:

```shell
chmod u+x ec2-install.sh
```

<a id="run_the_installation_script"></a>

### 4.4. Run the Installation Script

> [!NOTE]
> Review the script before you run it. Never run scripts without reviewing them first.

The installation script sets up a lightweight Kubernetes ([K3s](https://docs.k3s.io/)) environment in which the entire Platform is deployed using [Helm](https://helm.sh/).

It performs the following actions in a sequence:

*   Installs K3s server
    
*   Starts K3s server
    
*   Installs Helm
    
*   Fetches the Develocity charts from the Helm repository
    
*   Initializes the Develocity Pods in K3s
    
*   Creates a base `settings.gradle.kts` file which is pre-configured for your new instance
    

```shell
./ec2-install.sh --license DEVELOCITY_LICENSE \(1)
  --hostname DEVELOCITY_HOSTNAME (2)
```

1. develocity_license The path to your Develocity license
2. develocity_hostname The public DNS name of your EC2 instance

At the end, the installation script will display the [system user](https://docs.gradle.com/develocity/2025.3/administration/admin-manual/#system_user_password) credentials. These are saved in a file called `credentials.txt` as well.

🔍 **Example of running the script**

**Output:**

```
ubuntu@ip-172-31-3-0:~$ ./ec2-install.sh --license develocity.license --hostname ec2-63-177-95-205.eu-central-1.compute.amazonaws.com

Develocity Platform Installation

This script will setup a Develocity instance which is customized for evaluating purpose only.
Press Enter to continue...
[INFO]  Validating system requirements
[INFO]  Installing K3s...
[INFO]  Using v1.34.6+k3s1 as release
[INFO]  Downloading hash https://github.com/k3s-io/k3s/releases/download/v1.34.6+k3s1/sha256sum-amd64.txt
[INFO]  Downloading binary https://github.com/k3s-io/k3s/releases/download/v1.34.6+k3s1/k3s
[INFO]  Verifying binary download
[INFO]  Installing k3s to /usr/local/bin/k3s
[INFO]  Skipping installation of SELinux RPM
[INFO]  Creating /usr/local/bin/kubectl symlink to k3s
[INFO]  Creating /usr/local/bin/crictl symlink to k3s
[INFO]  Creating /usr/local/bin/ctr symlink to k3s
[INFO]  Creating killall script /usr/local/bin/k3s-killall.sh
[INFO]  Creating uninstall script /usr/local/bin/k3s-uninstall.sh
[INFO]  env: Creating environment file /etc/systemd/system/k3s.service.env
[INFO]  systemd: Creating service file /etc/systemd/system/k3s.service
[INFO]  systemd: Enabling k3s unit
Created symlink /etc/systemd/system/multi-user.target.wants/k3s.service → /etc/systemd/system/k3s.service.
[INFO]  systemd: Starting k3s
k3s service is running.
[INFO]  Configuring K3s, this requires sudo access...
[INFO]  Installing Helm...
Downloading https://get.helm.sh/helm-v3.18.6-linux-amd64.tar.gz
Verifying checksum... Done.
Preparing to install helm into /usr/local/bin
helm installed into /usr/local/bin/helm
[INFO]  Installing/Upgrading DV Platform Helm chart using license path: develocity.license
"gradle" has been added to your repositories
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "gradle" chart repository
Update Complete. ⎈Happy Helming!⎈
NAME: ge-standalone
LAST DEPLOYED: Thu Mar  6 14:38:00 2025
NAMESPACE: develocity
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
Develocity has been installed.
[INFO]  Checking installation status ...
[####################################################################################################] 100% (Ready: 10 / 10)
All pods are ready!
[INFO]  Checking Develocity connectivity
SUCCESS

Your Develocity instance is deployed.
Access Develocity via the browser at: ec2-63-177-95-205.eu-central-1.compute.amazonaws.com

      Develocity user: system
      Develocity password: PASSWORD

      Credentials are also saved to credentials.txt file in the current directory.

      For more information, please visit:

      Develocity Administration Manual: https://gradle.com/help/helm-admin
      Helm Chart Documentation: https://gradle.com/help/helm-standalone-chart

      You can check the status of the Platform by running the following command:

      kubectl --namespace develocity get pods

      If you have any questions or need any assistance contact the Develocity support team or your customer success representative.

      The installation script created a pre-configured settings.gradle.kts file for you.
```

For more info about the script, run `./ec2-install.sh -h`.

> [!NOTE]
> It will take several minutes until Develocity is deployed.

After the installation is finished, open a web browser and navigate to the public DNS name of your EC2 instance.

![Build Scan overview page](https://docs.gradle.com/develocity/2025.3/quickstart/aws-ec2-quickstart-guide/../_images/ec2-quickstart-guide/ec2-qs-build-scan-overview.png)

Build Scan overview page

<a id="example-project"></a>

## 5. Example Project

In the next part of this guide, you will publish your first Build Scan to your Develocity instance using the [Build Scan example](https://github.com/gradle/gradle-build-scan-quickstart/tree/main) from GitHub.

<a id="clone-the-project"></a>

### 5.1. Clone the Project

Clone the Build Scan example from GitHub:

```shell
git clone https://github.com/gradle/gradle-build-scan-quickstart.git
```

Change into the cloned repository:

```shell
cd gradle-build-scan-quickstart
```

<a id="configure-the-settings"></a>

### 5.2. Configure the Settings

Replace the content of the `settings.gradle.kts` file with the content of the `settings.gradle.kts` which was generated during the Develocity deployment.

🔍 **Example**

**settings.gradle.kts:**

```
plugins {
    // Develocity Gradle Plugin
    id("com.gradle.develocity") version("3.19.2") (1)
    id("org.gradle.toolchains.foojay-resolver-convention") version "0.9.0" (2)
}
develocity {
    // The hostname of the Develocity instance
    server.set("http://ec2-63-177-95-205.eu-central-1.compute.amazonaws.com") (3)
    // Disable SSL
    allowUntrustedServer.set(true) (4)
    buildScan {
        publishing.onlyIf { true }
    }
}

rootProject.name = "gradle-build-scan-quickstart" (5)
```

1. The version of the Develocity Gradle Plugin^ (it might use a different version)
2. The version of org.gradle.toolchains.foojay-resolver-convention (it might use a different version)
3. Replace ec2-63-177-95-205.eu-central-1.compute.amazonaws.com with the public DNS name of your EC2 instance
4. SSL is disabled
5. The name of the example project

<a id="create-and-publish-a-build-scan"></a>

### 5.3. Create and Publish a Build Scan

Run your first Build Scan using the Gradle wrapper:

```shell
./gradlew build --scan
```

The build should end with something similar to:

**Output:**

```
Calculating task graph as no cached configuration is available for tasks: build

BUILD SUCCESSFUL in 1s
4 actionable tasks: 1 executed, 3 from cache

Publishing build scan...
https://ec2-63-177-95-205.eu-central-1.compute.amazonaws.com/s/a4sgb7zk57y3e

Configuration cache entry stored.
```

Follow the link shown at the end of the build to view your Build Scan on your Develocity instance.

![Develocity Build Scan Overview](https://docs.gradle.com/develocity/2025.3/quickstart/aws-ec2-quickstart-guide/../_images/ec2-quickstart-guide/ec2-qs-build-scan-1.png)

Develocity Build Scan Overview

![Develocity Build Scan Details](https://docs.gradle.com/develocity/2025.3/quickstart/aws-ec2-quickstart-guide/../_images/ec2-quickstart-guide/ec2-qs-build-scan-2.png)

Develocity Build Scan Details

<a id="clean_up"></a>

## 6. Clean Up

Follow these steps to avoid incurring charges to your AWS account for the resources used on this page:

*   In the AWS Management Console, go to the EC2 Instances page.
    
*   Select the **Instance ID** row containing the VM instance you created in this guide.
    
*   Select **Instance state** followed by **Terminate (delete) instance**.
    

<a id="next_steps"></a>

## 7. Next Steps

Use these resources to get the most out of Develocity:

*   [Develocity Administration Manual](https://docs.gradle.com/develocity/2025.3/administration/admin-manual/) - Learn how to configure and administer Develocity.
    
*   [DPE University](https://dpeuniversity.gradle.com/app/catalog?product=Develocity) - A free, self-paced training portal to get the most out of Develocity.
    
*   [Develocity Self-Hosted Standalone Installation Guide](https://docs.gradle.com/develocity/2025.3/installation/standalone-installation/) - How to install Develocity into a single host.