Skip to content
Snippets Groups Projects
Commit a176237b authored by Sébastien Heurtematte's avatar Sébastien Heurtematte :speech_balloon:
Browse files
parent 772447fa
No related branches found
No related tags found
No related merge requests found
......@@ -10,7 +10,7 @@ NOTE: This experimentation is currently focused primarily on Gradle/Maven projec
[TOC]
# What is Develocity?
## What is Develocity?
[Develocity](https://gradle.com/develocity/) is a product developed by [Gradle](https://gradle.com/) as a build data platform and performance management tool aiming to monitor, debug, optimize and accelerate the build and delivery process.
......@@ -26,7 +26,7 @@ The Eclipse Foundation Develocity instance (available at [https://develocity-sta
- Test failure analytics to better understand trends and causes around slow, failing, and flaky tests
# Quick start!
## Quick start!
The Develocity platform can be accessed at [https://develocity-staging.eclipse.org/](https://develocity-staging.eclipse.org/) by using your Eclipse account: email / password.
......@@ -41,11 +41,11 @@ Generically, onboarding a project to Develocity consists of:
- Enable local caching for local builds only (unless CI builds are already using local cache)
- Disable remote caching (unless builds are already using a remote cache, or you want to use / experiment with it)
## Gradle
### Gradle
The following sample shows a minimal Develocity configuration for a project building with Gradle 6 or above, using Groovy build scripts. A kotlin script sample (`setting.gradle.kts`) is available [here](https://github.com/gradle/develocity-build-config-samples/blob/main/common-develocity-gradle-configuration-kotlin/settings.gradle.kts).
### settings.gradle
#### settings.gradle
```groovy
plugins {
......@@ -88,11 +88,11 @@ See the [Common Custom User Data Gradle Plugin releases page](https://github.com
For information about configuring Develocity for Gradle versions before 6, see the [Develocity Gradle Plugin User Manual](https://docs.gradle.com/enterprise/gradle-plugin/).
## Maven
### Maven
The following sample shows a Develocity configuration for a Maven project:
### .mvn/extensions.xml
#### .mvn/extensions.xml
```xml
<?xml version="1.0" encoding="UTF-8"?>
......@@ -110,7 +110,7 @@ The following sample shows a Develocity configuration for a Maven project:
</extensions>
```
### .mvn/develocity.xml
#### .mvn/develocity.xml
```xml
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
......@@ -149,9 +149,9 @@ See the [Develocity compatibility chart](https://docs.gradle.com/enterprise/comp
See the [Common Custom User Data Maven Extension releases page](https://github.com/gradle/common-custom-user-data-maven-extension/releases) for the most recent version of the Common Custom User Data Gradle Plugin.
# CI integration
## CI integration
## Request a CI integration
### Request a CI integration
A Develocity integration within CI can be requested by filling a ticket on the [helpdesk](https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/issues/new).
Please ensure your project lead has approved with a +1 the request.
......@@ -162,11 +162,11 @@ This integration will provide:
* Accessing secrets from any CI
* Accessing Develocity platform from any CI
## CI tools integration
### CI tools integration
https://docs.gradle.com/develocity/get-started/#integrating_your_ci_tool
### Jenkins
#### Jenkins
```groovy
def secrets = [
......@@ -195,7 +195,7 @@ pipeline {
```
### GitLab CI
#### GitLab CI
see: [GitLab CI templates](https://gitlab.eclipse.org/eclipsefdn/it/releng/gitlab-runner-service/gitlab-ci-templates)
......@@ -234,7 +234,7 @@ develocity.eclipse.org-mvn-test:
- ./mvnw clean deploy -s settings.xml
```
### GitHub Action
#### GitHub Action
Prerequisite: Ask for a token: `DEVELOCITY_ACCESS_KEY` in your GitHub Organization.
......@@ -277,12 +277,12 @@ jobs:
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
```
## Authenticating to [develocity-staging.eclipse.org](https://develocity-staging.eclipse.org/)
### Authenticating to [develocity-staging.eclipse.org](https://develocity-staging.eclipse.org/)
### CI Builds
#### CI Builds
CI environments are most commonly configured to read access keys from an environment variable, stored as a secret. Onboarded Gradle and Maven CI builds will look for the environment variable `DEVELOCITY_ACCESS_KEY` and use its value to authenticate to [develocity-staging.eclipse.org](https://develocity-staging.eclipse.org/).
### Local Builds
#### Local Builds
In order to authenticate a local development machine, Develocity offers automated access key provisioning:
......@@ -291,14 +291,14 @@ In order to authenticate a local development machine, Develocity offers automate
When executed, the automated provisioning launches a web browser to [develocity-staging.eclipse.org](https://develocity-staging.eclipse.org/) and asks you to sign in. All Eclipse Foundation committers can log in using their Eclipse account: email / password.
### Unauthenticated Builds
#### Unauthenticated Builds
Builds that are not authenticated to Develocity will simply not publish a Build Scan®. A lack of authentication will not cause the build to fail and will not be shown to the user. This includes builds by unauthenticated Eclipse committers, unauthenticated CI systems, or community contributors.
## Best practices
### Best practices
### Obfuscation
#### Obfuscation
1. Gradle: `build.gradle.kts`
......@@ -331,7 +331,7 @@ doc: https://docs.gradle.com/develocity/maven-extension/current/#obfuscating_ide
</develocity>
```
### Tags
#### Tags
1. Gradle: `build.gradle.kts`
......@@ -364,12 +364,12 @@ doc: https://docs.gradle.com/develocity/maven-extension/current/#adding_tags
</buildScan>
```
# Support
## Support
* [HelpDesk](https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/issues/new)
* [IT chat service room: #eclipsefdn.it:matrix.eclipse.org](https://chat.eclipse.org/#/room/#eclipsefdn.it:matrix.eclipse.org)
# Useful link
## Useful link
* [Develocity Documentation](https://gradle.com/develocity/resources/)
* [Gradle integration](https://docs.gradle.com/develocity/get-started/)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment