Skip to content

Commit 454862c

Browse files
committed
Switch to Broadcom docker proxy.
Closes #1822
1 parent eadaf72 commit 454862c

File tree

4 files changed

+37
-45
lines changed

4 files changed

+37
-45
lines changed

Jenkinsfile

+25-19
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,11 @@ pipeline {
4040

4141
steps {
4242
script {
43-
docker.image(p['docker.java.main.image']).inside(p['docker.java.inside.docker']) {
44-
sh "PROFILE=all-dbs JENKINS_USER_NAME=${p['jenkins.user.name']} ci/test.sh"
45-
sh "JENKINS_USER_NAME=${p['jenkins.user.name']} ci/clean.sh"
43+
docker.withRegistry(p['docker.proxy.registry'], p['docker.proxy.credentials']) {
44+
docker.image(p['docker.java.main.image']).inside(p['docker.java.inside.docker']) {
45+
sh "PROFILE=all-dbs JENKINS_USER_NAME=${p['jenkins.user.name']} ci/test.sh"
46+
sh "JENKINS_USER_NAME=${p['jenkins.user.name']} ci/clean.sh"
47+
}
4648
}
4749
}
4850
}
@@ -70,9 +72,11 @@ pipeline {
7072
}
7173
steps {
7274
script {
73-
docker.image(p['docker.java.next.image']).inside(p['docker.java.inside.docker']) {
74-
sh "PROFILE=all-dbs JENKINS_USER_NAME=${p['jenkins.user.name']} ci/test.sh"
75-
sh "JENKINS_USER_NAME=${p['jenkins.user.name']} ci/clean.sh"
75+
docker.withRegistry(p['docker.proxy.registry'], p['docker.proxy.credentials']) {
76+
docker.image(p['docker.java.next.image']).inside(p['docker.java.inside.docker']) {
77+
sh "PROFILE=all-dbs JENKINS_USER_NAME=${p['jenkins.user.name']} ci/test.sh"
78+
sh "JENKINS_USER_NAME=${p['jenkins.user.name']} ci/clean.sh"
79+
}
7680
}
7781
}
7882
}
@@ -99,19 +103,21 @@ pipeline {
99103
}
100104
steps {
101105
script {
102-
docker.image(p['docker.java.main.image']).inside(p['docker.java.inside.basic']) {
103-
sh 'MAVEN_OPTS="-Duser.name=' + "${p['jenkins.user.name']}" + ' -Duser.home=/tmp/jenkins-home" ' +
104-
"DEVELOCITY_CACHE_USERNAME=${DEVELOCITY_CACHE_USR} " +
105-
"DEVELOCITY_CACHE_PASSWORD=${DEVELOCITY_CACHE_PSW} " +
106-
"GRADLE_ENTERPRISE_ACCESS_KEY=${DEVELOCITY_ACCESS_KEY} " +
107-
"./mvnw -s settings.xml -Pci,artifactory " +
108-
"-Dartifactory.server=${p['artifactory.url']} " +
109-
"-Dartifactory.username=${ARTIFACTORY_USR} " +
110-
"-Dartifactory.password=${ARTIFACTORY_PSW} " +
111-
"-Dartifactory.staging-repository=${p['artifactory.repository.snapshot']} " +
112-
"-Dartifactory.build-name=spring-data-relational " +
113-
"-Dartifactory.build-number=spring-data-relational-${BRANCH_NAME}-build-${BUILD_NUMBER} " +
114-
"-Dmaven.test.skip=true clean deploy -U -B"
106+
docker.withRegistry(p['docker.proxy.registry'], p['docker.proxy.credentials']) {
107+
docker.image(p['docker.java.main.image']).inside(p['docker.java.inside.basic']) {
108+
sh 'MAVEN_OPTS="-Duser.name=' + "${p['jenkins.user.name']}" + ' -Duser.home=/tmp/jenkins-home" ' +
109+
"DEVELOCITY_CACHE_USERNAME=${DEVELOCITY_CACHE_USR} " +
110+
"DEVELOCITY_CACHE_PASSWORD=${DEVELOCITY_CACHE_PSW} " +
111+
"GRADLE_ENTERPRISE_ACCESS_KEY=${DEVELOCITY_ACCESS_KEY} " +
112+
"./mvnw -s settings.xml -Pci,artifactory " +
113+
"-Dartifactory.server=${p['artifactory.url']} " +
114+
"-Dartifactory.username=${ARTIFACTORY_USR} " +
115+
"-Dartifactory.password=${ARTIFACTORY_PSW} " +
116+
"-Dartifactory.staging-repository=${p['artifactory.repository.snapshot']} " +
117+
"-Dartifactory.build-name=spring-data-relational " +
118+
"-Dartifactory.build-number=spring-data-relational-${BRANCH_NAME}-build-${BUILD_NUMBER} " +
119+
"-Dmaven.test.skip=true clean deploy -U -B"
120+
}
115121
}
116122
}
117123
}

ci/accept-third-party-license.sh

+5-5
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@
44
echo "mcr.microsoft.com/mssql/server:2022-CU5-ubuntu-20.04"
55
echo "ibmcom/db2:11.5.7.0a"
66
echo "harbor-repo.vmware.com/mcr-proxy-cache/mssql/server:2019-CU16-ubuntu-20.04"
7-
echo "harbor-repo.vmware.com/mcr-proxy-cache/mssql/server:2022-CU5-ubuntu-20.04"
8-
echo "harbor-repo.vmware.com/dockerhub-proxy-cache/ibmcom/db2:11.5.7.0a"
7+
echo "docker-hub.usw1.packages.broadcom.com/mssql/server:2022-CU5-ubuntu-20.04"
8+
echo "docker-hub.usw1.packages.broadcom.com/ibmcom/db2:11.5.7.0a"
99
} > spring-data-jdbc/src/test/resources/container-license-acceptance.txt
1010

1111
{
1212
echo "mcr.microsoft.com/mssql/server:2022-latest"
1313
echo "ibmcom/db2:11.5.7.0a"
14-
echo "harbor-repo.vmware.com/mcr-proxy-cache/mssql/server:2022-latest"
15-
echo "harbor-repo.vmware.com/mcr-proxy-cache/mssql/server:2022-CU5-ubuntu-20.04"
16-
echo "harbor-repo.vmware.com/dockerhub-proxy-cache/ibmcom/db2:11.5.7.0a"
14+
echo "docker-hub.usw1.packages.broadcom.com/mssql/server:2022-latest"
15+
echo "docker-hub.usw1.packages.broadcom.com/mssql/server:2022-CU5-ubuntu-20.04"
16+
echo "docker-hub.usw1.packages.broadcom.com/ibmcom/db2:11.5.7.0a"
1717
} > spring-data-r2dbc/src/test/resources/container-license-acceptance.txt

ci/pipeline.properties

+5-2
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ java.main.tag=17.0.9_9-jdk-focal
33
java.next.tag=21.0.1_12-jdk-jammy
44

55
# Docker container images - standard
6-
docker.java.main.image=harbor-repo.vmware.com/dockerhub-proxy-cache/library/eclipse-temurin:${java.main.tag}
7-
docker.java.next.image=harbor-repo.vmware.com/dockerhub-proxy-cache/library/eclipse-temurin:${java.next.tag}
6+
docker.java.main.image=library/eclipse-temurin:${java.main.tag}
7+
docker.java.next.image=library/eclipse-temurin:${java.next.tag}
88

99
# Supported versions of MongoDB
1010
docker.mongodb.4.4.version=4.4.25
@@ -14,6 +14,7 @@ docker.mongodb.7.0.version=7.0.2
1414

1515
# Supported versions of Redis
1616
docker.redis.6.version=6.2.13
17+
docker.redis.7.version=7.2.4
1718

1819
# Supported versions of Cassandra
1920
docker.cassandra.3.version=3.11.16
@@ -25,6 +26,8 @@ docker.java.inside.docker=-u root -v /var/run/docker.sock:/var/run/docker.sock -
2526
# Credentials
2627
docker.registry=
2728
docker.credentials=hub.docker.com-springbuildmaster
29+
docker.proxy.registry=https://docker-hub.usw1.packages.broadcom.com
30+
docker.proxy.credentials=usw1_packages_broadcom_com-jenkins-token
2831
artifactory.credentials=02bd1690-b54f-4c9f-819d-a77cb7a9822c
2932
artifactory.url=https://repo.spring.io
3033
artifactory.repository.snapshot=libs-snapshot-local

spring-data-relational/src/test/java/org/springframework/data/ProxyImageNameSubstitutor.java

+2-19
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
/**
2626
* An {@link ImageNameSubstitutor} only used on CI servers to leverage internal proxy solution, that needs to vary the
2727
* prefix based on which container image is needed.
28-
*
28+
*
2929
* @author Greg Turnquist
3030
*/
3131
public class ProxyImageNameSubstitutor extends ImageNameSubstitutor {
@@ -37,14 +37,10 @@ public class ProxyImageNameSubstitutor extends ImageNameSubstitutor {
3737

3838
private static final List<String> NAMES_TO_LIBRARY_PROXY_PREFIX = List.of("mariadb", "mysql", "postgres");
3939

40-
private static final List<String> NAMES_TO_MCR_PROXY_PREFIX = List.of("mcr.microsoft.com/mssql");
41-
42-
private static final String PROXY_PREFIX = "harbor-repo.vmware.com/dockerhub-proxy-cache/";
40+
private static final String PROXY_PREFIX = "docker-hub.usw1.packages.broadcom.com/";
4341

4442
private static final String LIBRARY_PROXY_PREFIX = PROXY_PREFIX + "library/";
4543

46-
private static final String MCR_PROXY_PREFIX = "harbor-repo.vmware.com/mcr-proxy-cache/";
47-
4844
@Override
4945
public DockerImageName apply(DockerImageName dockerImageName) {
5046

@@ -62,13 +58,6 @@ public DockerImageName apply(DockerImageName dockerImageName) {
6258
return DockerImageName.parse(transformedName);
6359
}
6460

65-
if (NAMES_TO_MCR_PROXY_PREFIX.stream().anyMatch(s -> dockerImageName.asCanonicalNameString().contains(s))) {
66-
67-
String transformedName = applyMcrProxyPrefix(dockerImageName.asCanonicalNameString());
68-
LOG.info("Converting " + dockerImageName.asCanonicalNameString() + " to " + transformedName);
69-
return DockerImageName.parse(transformedName);
70-
}
71-
7261
LOG.info("Not changing " + dockerImageName.asCanonicalNameString() + "...");
7362
return dockerImageName;
7463
}
@@ -92,10 +81,4 @@ private static String applyProxyAndLibraryPrefix(String imageName) {
9281
return LIBRARY_PROXY_PREFIX + imageName;
9382
}
9483

95-
/**
96-
* Apply an MCR-based prefix.
97-
*/
98-
private static String applyMcrProxyPrefix(String imageName) {
99-
return MCR_PROXY_PREFIX + imageName.substring("mcr.microsoft.com/".length());
100-
}
10184
}

0 commit comments

Comments
 (0)