Skip to content

Commit 6928515

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 #4528
1 parent 13447e6 commit 6928515

File tree

5 files changed

+88
-8
lines changed

5 files changed

+88
-8
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,4 @@ node_modules
2121
node
2222
package.json
2323
package-lock.json
24+
.mvn/.gradle-enterprise

.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>false</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.DEVELOCITY_CACHE_USERNAME}</username>
24+
<password>${env.DEVELOCITY_CACHE_PASSWORD}</password>
25+
</credentials>
26+
</server>
27+
<enabled>true</enabled>
28+
<storeEnabled>#{env['DEVELOCITY_CACHE_USERNAME'] != null and env['DEVELOCITY_CACHE_PASSWORD'] != null}</storeEnabled>
29+
</remote>
30+
</buildCache>
31+
</gradleEnterprise>

Jenkinsfile

Lines changed: 42 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,8 @@ pipeline {
151151
options { timeout(time: 30, unit: 'MINUTES') }
152152
environment {
153153
ARTIFACTORY = credentials("${p['artifactory.credentials']}")
154+
DEVELOCITY_CACHE = credentials("${p['develocity.cache.credentials']}")
155+
DEVELOCITY_ACCESS_KEY = credentials("${p['develocity.access-key']}")
154156
}
155157
steps {
156158
script {
@@ -160,7 +162,11 @@ pipeline {
160162
sh 'sleep 10'
161163
sh 'mongo --eval "rs.initiate({_id: \'rs0\', members:[{_id: 0, host: \'127.0.0.1:27017\'}]});"'
162164
sh 'sleep 15'
163-
sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -s settings.xml clean dependency:list test -Duser.name=jenkins -Dsort -U -B'
165+
sh 'MAVEN_OPTS="-Duser.name=spring-builds+jenkins -Duser.home=/tmp/jenkins-home" ' +
166+
'DEVELOCITY_CACHE_USERNAME=${DEVELOCITY_CACHE_USR} ' +
167+
'DEVELOCITY_CACHE_PASSWORD=${DEVELOCITY_CACHE_PSW} ' +
168+
'GRADLE_ENTERPRISE_ACCESS_KEY=${DEVELOCITY_ACCESS_KEY} ' +
169+
'./mvnw -s settings.xml clean dependency:list test -Dsort -U -B'
164170
}
165171
}
166172
}
@@ -182,6 +188,8 @@ pipeline {
182188
options { timeout(time: 30, unit: 'MINUTES') }
183189
environment {
184190
ARTIFACTORY = credentials("${p['artifactory.credentials']}")
191+
DEVELOCITY_CACHE = credentials("${p['develocity.cache.credentials']}")
192+
DEVELOCITY_ACCESS_KEY = credentials("${p['develocity.access-key']}")
185193
}
186194
steps {
187195
script {
@@ -191,7 +199,11 @@ pipeline {
191199
sh 'sleep 10'
192200
sh 'mongo --eval "rs.initiate({_id: \'rs0\', members:[{_id: 0, host: \'127.0.0.1:27017\'}]});"'
193201
sh 'sleep 15'
194-
sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -s settings.xml clean dependency:list test -Duser.name=jenkins -Dsort -U -B'
202+
sh 'MAVEN_OPTS="-Duser.name=spring-builds+jenkins -Duser.home=/tmp/jenkins-home" ' +
203+
'DEVELOCITY_CACHE_USERNAME=${DEVELOCITY_CACHE_USR} ' +
204+
'DEVELOCITY_CACHE_PASSWORD=${DEVELOCITY_CACHE_PSW} ' +
205+
'GRADLE_ENTERPRISE_ACCESS_KEY=${DEVELOCITY_ACCESS_KEY} ' +
206+
'./mvnw -s settings.xml clean dependency:list test -Dsort -U -B'
195207
}
196208
}
197209
}
@@ -204,6 +216,8 @@ pipeline {
204216
options { timeout(time: 30, unit: 'MINUTES') }
205217
environment {
206218
ARTIFACTORY = credentials("${p['artifactory.credentials']}")
219+
DEVELOCITY_CACHE = credentials("${p['develocity.cache.credentials']}")
220+
DEVELOCITY_ACCESS_KEY = credentials("${p['develocity.access-key']}")
207221
}
208222
steps {
209223
script {
@@ -213,7 +227,11 @@ pipeline {
213227
sh 'sleep 10'
214228
sh 'mongosh --eval "rs.initiate({_id: \'rs0\', members:[{_id: 0, host: \'127.0.0.1:27017\'}]});"'
215229
sh 'sleep 15'
216-
sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -s settings.xml clean dependency:list test -Duser.name=jenkins -Dsort -U -B'
230+
sh 'MAVEN_OPTS="-Duser.name=spring-builds+jenkins -Duser.home=/tmp/jenkins-home" ' +
231+
'DEVELOCITY_CACHE_USERNAME=${DEVELOCITY_CACHE_USR} ' +
232+
'DEVELOCITY_CACHE_PASSWORD=${DEVELOCITY_CACHE_PSW} ' +
233+
'GRADLE_ENTERPRISE_ACCESS_KEY=${DEVELOCITY_ACCESS_KEY} ' +
234+
'./mvnw -s settings.xml clean dependency:list test -Dsort -U -B'
217235
}
218236
}
219237
}
@@ -226,6 +244,8 @@ pipeline {
226244
options { timeout(time: 30, unit: 'MINUTES') }
227245
environment {
228246
ARTIFACTORY = credentials("${p['artifactory.credentials']}")
247+
DEVELOCITY_CACHE = credentials("${p['develocity.cache.credentials']}")
248+
DEVELOCITY_ACCESS_KEY = credentials("${p['develocity.access-key']}")
229249
}
230250
steps {
231251
script {
@@ -235,7 +255,11 @@ pipeline {
235255
sh 'sleep 10'
236256
sh 'mongosh --eval "rs.initiate({_id: \'rs0\', members:[{_id: 0, host: \'127.0.0.1:27017\'}]});"'
237257
sh 'sleep 15'
238-
sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -s settings.xml clean dependency:list test -Duser.name=jenkins -Dsort -U -B'
258+
sh 'MAVEN_OPTS="-Duser.name=spring-builds+jenkins -Duser.home=/tmp/jenkins-home" ' +
259+
'DEVELOCITY_CACHE_USERNAME=${DEVELOCITY_CACHE_USR} ' +
260+
'DEVELOCITY_CACHE_PASSWORD=${DEVELOCITY_CACHE_PSW} ' +
261+
'GRADLE_ENTERPRISE_ACCESS_KEY=${DEVELOCITY_ACCESS_KEY} ' +
262+
'./mvnw -s settings.xml clean dependency:list test -Dsort -U -B'
239263
}
240264
}
241265
}
@@ -248,6 +272,8 @@ pipeline {
248272
options { timeout(time: 30, unit: 'MINUTES') }
249273
environment {
250274
ARTIFACTORY = credentials("${p['artifactory.credentials']}")
275+
DEVELOCITY_CACHE = credentials("${p['develocity.cache.credentials']}")
276+
DEVELOCITY_ACCESS_KEY = credentials("${p['develocity.access-key']}")
251277
}
252278
steps {
253279
script {
@@ -257,7 +283,11 @@ pipeline {
257283
sh 'sleep 10'
258284
sh 'mongosh --eval "rs.initiate({_id: \'rs0\', members:[{_id: 0, host: \'127.0.0.1:27017\'}]});"'
259285
sh 'sleep 15'
260-
sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -s settings.xml clean dependency:list test -Duser.name=jenkins -Dsort -U -B'
286+
sh 'MAVEN_OPTS="-Duser.name=spring-builds+jenkins -Duser.home=/tmp/jenkins-home" ' +
287+
'DEVELOCITY_CACHE_USERNAME=${DEVELOCITY_CACHE_USR} ' +
288+
'DEVELOCITY_CACHE_PASSWORD=${DEVELOCITY_CACHE_PSW} ' +
289+
'GRADLE_ENTERPRISE_ACCESS_KEY=${DEVELOCITY_ACCESS_KEY} ' +
290+
'./mvnw -s settings.xml clean dependency:list test -Dsort -U -B'
261291
}
262292
}
263293
}
@@ -280,13 +310,18 @@ pipeline {
280310

281311
environment {
282312
ARTIFACTORY = credentials("${p['artifactory.credentials']}")
313+
DEVELOCITY_CACHE = credentials("${p['develocity.cache.credentials']}")
314+
DEVELOCITY_ACCESS_KEY = credentials("${p['develocity.access-key']}")
283315
}
284316

285317
steps {
286318
script {
287319
docker.image(p['docker.java.main.image']).inside(p['docker.java.inside.basic']) {
288-
sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -v'
289-
sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -s settings.xml -Pci,artifactory ' +
320+
sh 'MAVEN_OPTS="-Duser.name=spring-builds+jenkins -Duser.home=/tmp/jenkins-home" ' +
321+
'DEVELOCITY_CACHE_USERNAME=${DEVELOCITY_CACHE_USR} ' +
322+
'DEVELOCITY_CACHE_PASSWORD=${DEVELOCITY_CACHE_PSW} ' +
323+
'GRADLE_ENTERPRISE_ACCESS_KEY=${DEVELOCITY_ACCESS_KEY} ' +
324+
'./mvnw -s settings.xml -Pci,artifactory ' +
290325
'-Dartifactory.server=https://repo.spring.io ' +
291326
"-Dartifactory.username=${ARTIFACTORY_USR} " +
292327
"-Dartifactory.password=${ARTIFACTORY_PSW} " +

README.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
image:https://spring.io/badges/spring-data-mongodb/ga.svg[Spring Data MongoDB,link=https://spring.io/projects/spring-data-mongodb#quick-start] image:https://spring.io/badges/spring-data-mongodb/snapshot.svg[Spring Data MongoDB,link=https://spring.io/projects/spring-data-mongodb#quick-start]
22

3-
= Spring Data MongoDB image:https://jenkins.spring.io/buildStatus/icon?job=spring-data-mongodb%2Fmain&subject=Build[link=https://jenkins.spring.io/view/SpringData/job/spring-data-mongodb/] https://gitter.im/spring-projects/spring-data[image:https://badges.gitter.im/spring-projects/spring-data.svg[Gitter]]
3+
= Spring Data MongoDB image:https://jenkins.spring.io/buildStatus/icon?job=spring-data-mongodb%2Fmain&subject=Build[link=https://jenkins.spring.io/view/SpringData/job/spring-data-mongodb/] 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 MongoDB"]
44

55
The primary goal of the https://spring.io/projects/spring-data[Spring Data] project is to make it easier to build Spring-powered applications that use new data access technologies such as non-relational databases, map-reduce frameworks, and cloud based data services.
66

0 commit comments

Comments
 (0)