@@ -160,6 +160,61 @@ jobs:
160160 opendj-server-legacy/target/package/opendj/bin/ldapsearch --hostname localhost --port 1636 --bindDN "cn=Directory Manager" --bindPassword password --useSsl --trustAll --baseDN "ou=people,dc=example,dc=com" --searchScope sub "(uid=user.*)" dn | grep ^dn: | wc -l | grep -q 10000
161161 opendj-server-legacy/target/package/opendj/bin/stop-ds
162162 rm -rf opendj-server-legacy/target/package/opendj/{config,db,changelogDb,logs,tmp}
163+ - name : Test replication
164+ if : runner.os != 'Windows'
165+ run : |
166+ cp -r ./opendj-server-legacy/target/package/opendj ./opendj-server-legacy/target/package/opendj1
167+ cp -r ./opendj-server-legacy/target/package/opendj ./opendj-server-legacy/target/package/opendj2
168+ cp -r ./opendj-server-legacy/target/package/opendj ./opendj-server-legacy/target/package/opendj3
169+
170+ echo "Setup OpenDJ-1"
171+
172+ opendj-server-legacy/target/package/opendj1/setup -h localhost -p 1389 --ldapsPort 1636 --adminConnectorPort 4444 --enableStartTLS \
173+ --generateSelfSignedCertificate --rootUserDN "cn=Directory Manager" --rootUserPassword password --baseDN dc=example,dc=com \
174+ --sampleData 100000 --cli --acceptLicense --no-prompt
175+
176+ echo "Setup OpenDJ-2 with replication"
177+
178+ opendj-server-legacy/target/package/opendj2/setup -h localhost -p 2389 --ldapsPort 2636 --adminConnectorPort 24444 --enableStartTLS \
179+ --generateSelfSignedCertificate --rootUserDN "cn=Directory Manager" --rootUserPassword password --baseDN dc=example,dc=com \
180+ --addBaseEntry --cli --acceptLicense --no-prompt
181+
182+ opendj-server-legacy/target/package/opendj2/bin/dsreplication enable --no-prompt --host1 localhost --port1 4444 --bindDN1 "cn=Directory Manager" --bindPassword1 password --replicationPort1 8989 \
183+ --host2 localhost --port2 24444 --bindDN2 "cn=Directory Manager" --bindPassword2 password --replicationPort2 28989 \
184+ --adminUID admin --adminPassword password --baseDN dc=example,dc=com --trustAll --noPropertiesFile
185+
186+ opendj-server-legacy/target/package/opendj2/bin/dsreplication initialize --baseDN dc=example,dc=com --adminUID admin --adminPassword password --hostSource localhost \
187+ --portSource 4444 --hostDestination localhost --portDestination 24444 -X -n
188+
189+ opendj-server-legacy/target/package/opendj2/bin/ldapsearch --port 2636 --hostname localhost --bindDN "cn=Directory Manager" --bindPassword password --useSsl --trustAll \
190+ --baseDN "ou=people,dc=example,dc=com" --searchScope sub "(uid=user.*)" dn | grep ^dn: | wc -l | grep -q 100000
191+
192+ echo "Setup OpenDJ-3 with replication"
193+
194+ opendj-server-legacy/target/package/opendj3/setup -h localhost -p 3389 --ldapsPort 3636 --adminConnectorPort 34444 --enableStartTLS \
195+ --generateSelfSignedCertificate --rootUserDN "cn=Directory Manager" --rootUserPassword password --baseDN dc=example,dc=com \
196+ --addBaseEntry --cli --acceptLicense --no-prompt
197+
198+ opendj-server-legacy/target/package/opendj3/bin/dsreplication enable --no-prompt --host1 localhost --port1 24444 --bindDN1 "cn=Directory Manager" --bindPassword1 password --replicationPort1 28989 \
199+ --host2 localhost --port2 34444 --bindDN2 "cn=Directory Manager" --bindPassword2 password --replicationPort2 38989 \
200+ --adminUID admin --adminPassword password --baseDN dc=example,dc=com --trustAll --noPropertiesFile
201+
202+ opendj-server-legacy/target/package/opendj3/bin/dsreplication initialize --baseDN dc=example,dc=com --adminUID admin --adminPassword password --hostSource localhost \
203+ --portSource 24444 --hostDestination localhost --portDestination 34444 -X -n
204+
205+ opendj-server-legacy/target/package/opendj2/bin/ldapsearch --port 3636 --hostname localhost --bindDN "cn=Directory Manager" --bindPassword password --useSsl --trustAll \
206+ --baseDN "ou=people,dc=example,dc=com" --searchScope sub "(uid=user.*)" dn | grep ^dn: | wc -l | grep -q 100000
207+
208+ echo "Stopping and removing OpenDJ instances"
209+
210+ opendj-server-legacy/target/package/opendj1/bin/stop-ds
211+ opendj-server-legacy/target/package/opendj2/bin/stop-ds
212+ opendj-server-legacy/target/package/opendj3/bin/stop-ds
213+
214+ rm -rf ./opendj-server-legacy/target/package/opendj1
215+ rm -rf ./opendj-server-legacy/target/package/opendj2
216+ rm -rf ./opendj-server-legacy/target/package/opendj3
217+
163218 - name : Test on Windows
164219 if : runner.os == 'Windows'
165220 run : |
@@ -196,17 +251,18 @@ jobs:
196251 opendj-dsml-servlet/target/*.war
197252 opendj-rest2ldap-servlet/target/*.war
198253 build-docker :
254+ needs : build-maven
199255 runs-on : ' ubuntu-latest'
200256 services :
201257 registry :
202258 image : registry:2
203259 ports :
204260 - 5000:5000
205261 steps :
206- - uses : actions/checkout@v4
262+ - name : Download artifacts
263+ uses : actions/download-artifact@v4
207264 with :
208- fetch-depth : 0
209- submodules : recursive
265+ name : ubuntu-latest-11
210266 - name : Get latest release version
211267 shell : bash
212268 run : |
@@ -226,9 +282,14 @@ jobs:
226282 uses : docker/setup-buildx-action@v3
227283 with :
228284 driver-opts : network=host
285+ - name : Prepare Dockerfile
286+ shell : bash
287+ run : |
288+ unzip -d ./opendj-packages/opendj-docker ./opendj-packages/opendj-docker/target/Dockerfile.zip
289+ cp ./opendj-server-legacy/target/package/opendj-*.zip ./opendj-packages/opendj-docker
290+ sed -i -E '/^#COPY opendj/s/^#//' ./opendj-packages/opendj-docker/Dockerfile
229291 - name : Build image (default)
230292 uses : docker/build-push-action@v5
231- continue-on-error : true
232293 with :
233294 context : ./opendj-packages/opendj-docker
234295 file : ./opendj-packages/opendj-docker/Dockerfile
@@ -251,19 +312,21 @@ jobs:
251312 docker exec test 'sh' '-c' '/opt/opendj/bin/start-ds'
252313 docker exec test 'sh' '-c' '/opt/opendj/bin/rebuild-index --bindDN "cn=Directory Manager" --bindPassword password --baseDN "dc=example2,dc=com" --rebuildAll --trustAll'
253314 docker exec test 'sh' '-c' '/opt/opendj/bin/ldapsearch --hostname localhost --port 1636 --bindDN "cn=Directory Manager" --bindPassword password --useSsl --trustAll --baseDN "ou=people,dc=example2,dc=com" --searchScope sub "(uid=user.*)" dn | grep ^dn: | wc -l | grep -q 10000'
315+ docker kill test
254316
255317 build-docker-alpine :
318+ needs : build-maven
256319 runs-on : ' ubuntu-latest'
257320 services :
258321 registry :
259322 image : registry:2
260323 ports :
261324 - 5000:5000
262325 steps :
263- - uses : actions/checkout@v4
326+ - name : Download artifacts
327+ uses : actions/download-artifact@v4
264328 with :
265- fetch-depth : 0
266- submodules : recursive
329+ name : ubuntu-latest-11
267330 - name : Get latest release version
268331 shell : bash
269332 run : |
@@ -284,8 +347,13 @@ jobs:
284347 uses : docker/setup-buildx-action@v3
285348 with :
286349 driver-opts : network=host
350+ - name : Prepare Dockerfile
351+ shell : bash
352+ run : |
353+ unzip -d ./opendj-packages/opendj-docker ./opendj-packages/opendj-docker/target/Dockerfile.zip
354+ cp ./opendj-server-legacy/target/package/opendj-*.zip ./opendj-packages/opendj-docker
355+ sed -i -E '/^#COPY opendj/s/^#//' ./opendj-packages/opendj-docker/Dockerfile-alpine
287356 - name : Build image
288- continue-on-error : true
289357 uses : docker/build-push-action@v5
290358 with :
291359 context : ./opendj-packages/opendj-docker
@@ -309,4 +377,4 @@ jobs:
309377 docker exec test 'sh' '-c' '/opt/opendj/bin/start-ds'
310378 docker exec test 'sh' '-c' '/opt/opendj/bin/rebuild-index --bindDN "cn=Directory Manager" --bindPassword password --baseDN "dc=example2,dc=com" --rebuildAll --trustAll'
311379 docker exec test 'sh' '-c' '/opt/opendj/bin/ldapsearch --hostname localhost --port 1636 --bindDN "cn=Directory Manager" --bindPassword password --useSsl --trustAll --baseDN "ou=people,dc=example2,dc=com" --searchScope sub "(uid=user.*)" dn | grep ^dn: | wc -l | grep -q 10000'
312-
380+ docker kill test
0 commit comments