Skip to content

Commit b3dc32c

Browse files
erichaagdevgregturn
authored andcommitted
Connect build to ge.spring.io.
This change publishes a build scan to ge.spring.io for every local build from an authenticated Spring committer and for CI where appropriate access tokens are available. The build will not fail if publishing fails. This change also allows the build to benefit from local and remote build caching, providing faster builds for all contributors. Additionally, the project will have access to all features of Gradle Enterprise such as: - Dashboards to view all historical build scans, along with performance trends over time - Build failure analytics for enhanced investigation and diagnosis of build failures - Test failure analytics to better understand trends and causes around slow, failing, and flaky tests See #2811
1 parent 42d936a commit b3dc32c

File tree

7 files changed

+72
-4
lines changed

7 files changed

+72
-4
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,4 +38,5 @@ node_modules
3838
node
3939
package.json
4040
package-lock.json
41+
.mvn/.gradle-enterprise
4142

.mvn/extensions.xml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<extensions>
3+
<extension>
4+
<groupId>com.gradle</groupId>
5+
<artifactId>gradle-enterprise-maven-extension</artifactId>
6+
<version>1.19.2</version>
7+
</extension>
8+
<extension>
9+
<groupId>com.gradle</groupId>
10+
<artifactId>common-custom-user-data-maven-extension</artifactId>
11+
<version>1.12.4</version>
12+
</extension>
13+
</extensions>

.mvn/gradle-enterprise.xml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
2+
<gradleEnterprise
3+
xmlns="https://www.gradle.com/gradle-enterprise-maven" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation="https://www.gradle.com/gradle-enterprise-maven https://www.gradle.com/schema/gradle-enterprise-maven.xsd">
5+
<server>
6+
<url>https://ge.spring.io</url>
7+
</server>
8+
<buildScan>
9+
<backgroundBuildScanUpload>#{isFalse(env['CI'])}</backgroundBuildScanUpload>
10+
<captureGoalInputFiles>true</captureGoalInputFiles>
11+
<publishIfAuthenticated>true</publishIfAuthenticated>
12+
<obfuscation>
13+
<ipAddresses>#{{'0.0.0.0'}}</ipAddresses>
14+
</obfuscation>
15+
</buildScan>
16+
<buildCache>
17+
<local>
18+
<enabled>true</enabled>
19+
</local>
20+
<remote>
21+
<server>
22+
<credentials>
23+
<username>${env.GRADLE_ENTERPRISE_CACHE_USERNAME}</username>
24+
<password>${env.GRADLE_ENTERPRISE_CACHE_PASSWORD}</password>
25+
</credentials>
26+
</server>
27+
<enabled>true</enabled>
28+
<storeEnabled>#{env['GRADLE_ENTERPRISE_CACHE_USERNAME'] != null and env['GRADLE_ENTERPRISE_CACHE_PASSWORD'] != null}</storeEnabled>
29+
</remote>
30+
</buildCache>
31+
</gradleEnterprise>

Jenkinsfile

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ pipeline {
3333

3434
environment {
3535
ARTIFACTORY = credentials("${p['artifactory.credentials']}")
36+
DEVELOCITY_CACHE = credentials("${p['develocity.cache.credentials']}")
37+
DEVELOCITY_ACCESS_KEY = credentials("${p['develocity.access-key']}")
3638
TESTCONTAINERS_IMAGE_SUBSTITUTOR = 'org.springframework.data.neo4j.support.ProxyImageNameSubstitutor'
3739
}
3840

@@ -62,6 +64,8 @@ pipeline {
6264
options { timeout(time: 60, unit: 'MINUTES') }
6365
environment {
6466
ARTIFACTORY = credentials("${p['artifactory.credentials']}")
67+
DEVELOCITY_CACHE = credentials("${p['develocity.cache.credentials']}")
68+
DEVELOCITY_ACCESS_KEY = credentials("${p['develocity.access-key']}")
6569
TESTCONTAINERS_IMAGE_SUBSTITUTOR = 'org.springframework.data.neo4j.support.ProxyImageNameSubstitutor'
6670
}
6771
steps {
@@ -91,12 +95,18 @@ pipeline {
9195

9296
environment {
9397
ARTIFACTORY = credentials("${p['artifactory.credentials']}")
98+
DEVELOCITY_CACHE = credentials("${p['develocity.cache.credentials']}")
99+
DEVELOCITY_ACCESS_KEY = credentials("${p['develocity.access-key']}")
94100
}
95101

96102
steps {
97103
script {
98104
docker.image(p['docker.java.main.image']).inside(p['docker.java.inside.basic']) {
99-
sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -s settings.xml -Pci,artifactory -Dmaven.repo.local=/tmp/jenkins-home/.m2/spring-data-neo4j-non-root ' +
105+
sh 'MAVEN_OPTS="-Duser.name=spring-builds+jenkins -Duser.home=/tmp/jenkins-home" ' +
106+
'DEVELOCITY_CACHE_USERNAME=${DEVELOCITY_CACHE_USR} ' +
107+
'DEVELOCITY_CACHE_PASSWORD=${DEVELOCITY_CACHE_PSW} ' +
108+
'GRADLE_ENTERPRISE_ACCESS_KEY=${DEVELOCITY_ACCESS_KEY} ' +
109+
'./mvnw -s settings.xml -Pci,artifactory -Dmaven.repo.local=/tmp/jenkins-home/.m2/spring-data-neo4j-non-root ' +
100110
'-Dartifactory.server=https://repo.spring.io ' +
101111
"-Dartifactory.username=${ARTIFACTORY_USR} " +
102112
"-Dartifactory.password=${ARTIFACTORY_PSW} " +

README.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
= Spring Data Neo4j image:https://jenkins.spring.io/buildStatus/icon?job=spring-data-neo4j%2Fmain&subject=Build[link=https://jenkins.spring.io/view/SpringData/job/spring-data-neo4j/] https://gitter.im/spring-projects/spring-data[image:https://badges.gitter.im/spring-projects/spring-data.svg[Gitter]]
1+
= Spring Data Neo4j image:https://jenkins.spring.io/buildStatus/icon?job=spring-data-neo4j%2Fmain&subject=Build[link=https://jenkins.spring.io/view/SpringData/job/spring-data-neo4j/] https://gitter.im/spring-projects/spring-data[image:https://badges.gitter.im/spring-projects/spring-data.svg[Gitter]] image:https://img.shields.io/badge/Revved%20up%20by-Gradle%20Enterprise-06A0CE?logo=Gradle&labelColor=02303A["Revved up by Gradle Enterprise", link="https://ge.spring.io/scans?search.rootProjectNames=Spring Data Neo4j"]
22
:sectanchors:
33

44
// tag::properties[]

ci/clean.sh

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,11 @@
22

33
set -euo pipefail
44

5-
MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" \
5+
export DEVELOCITY_CACHE_USERNAME=${DEVELOCITY_CACHE_USR}
6+
export DEVELOCITY_CACHE_PASSWORD=${DEVELOCITY_CACHE_PSW}
7+
8+
# The environment variable to configure access key is still GRADLE_ENTERPRISE_ACCESS_KEY
9+
export GRADLE_ENTERPRISE_ACCESS_KEY=${DEVELOCITY_ACCESS_KEY}
10+
11+
MAVEN_OPTS="-Duser.name=spring-builds+jenkins -Duser.home=/tmp/jenkins-home" \
612
./mvnw -s settings.xml clean -Dmaven.repo.local=/tmp/jenkins-home/.m2/spring-data-neo4j

ci/test.sh

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,12 @@ set -euo pipefail
44

55
mkdir -p /tmp/jenkins-home
66
chown -R 1001:1001 .
7-
MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home " \
7+
8+
export DEVELOCITY_CACHE_USERNAME=${DEVELOCITY_CACHE_USR}
9+
export DEVELOCITY_CACHE_PASSWORD=${DEVELOCITY_CACHE_PSW}
10+
11+
# The environment variable to configure access key is still GRADLE_ENTERPRISE_ACCESS_KEY
12+
export GRADLE_ENTERPRISE_ACCESS_KEY=${DEVELOCITY_ACCESS_KEY}
13+
14+
MAVEN_OPTS="-Duser.name=spring-builds+jenkins -Duser.home=/tmp/jenkins-home " \
815
./mvnw -s settings.xml -P${PROFILE} clean dependency:list verify -Dsort -U -B -Dmaven.repo.local=/tmp/jenkins-home/.m2/spring-data-neo4j

0 commit comments

Comments
 (0)