@@ -187,39 +187,78 @@ function download_mysql_driver() {
187
187
fi
188
188
}
189
189
190
- # Install docker, zip, unzip and java
191
- # Download WebLogic Tools
192
- function install_utilities() {
193
- # Install docker
190
+ function install_docker_multi_arch(){
191
+ # Install docker https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository
192
+ # Add Docker's official GPG key:
194
193
sudo apt-get -q update
195
- sudo apt-get -y -q install apt-transport-https
196
- curl -m ${curlMaxTime} --retry ${retryMaxAttempt} -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
194
+ sudo apt-get -y -q install ca-certificates curl
195
+ sudo install -m 0755 -d /etc/apt/keyrings
196
+ sudo curl -m ${curlMaxTime} --retry ${retryMaxAttempt} -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
197
+ sudo chmod a+r /etc/apt/keyrings/docker.asc
198
+
199
+ # Add the repository to Apt sources:
197
200
echo \
198
- " deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
199
- $( lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
201
+ " deb [arch=$( dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
202
+ $( . /etc/os-release && echo " $VERSION_CODENAME " ) stable" | \
203
+ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
200
204
sudo apt-get -q update
201
205
sudo apt-get -y -q install docker-ce docker-ce-cli containerd.io
202
206
203
207
echo " docker version"
204
208
sudo docker --version
205
209
validate_status " Check status of docker."
206
210
sudo systemctl start docker
211
+ }
207
212
213
+ function install_openjdk11_x64(){
208
214
# Install Microsoft OpenJDK
209
- wget https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
215
+ # Valid values are only '18.04', '20.04', and '22.04'
216
+ ubuntu_release=` lsb_release -rs`
217
+ wget https://packages.microsoft.com/config/ubuntu/${ubuntu_release} /packages-microsoft-prod.deb -O packages-microsoft-prod.deb
210
218
sudo dpkg -i packages-microsoft-prod.deb
211
- sudo apt -q update
212
- sudo apt -y -q install msopenjdk-11
219
+
220
+ sudo apt-get -y -q install apt-transport-https
221
+ sudo apt-get -q update
222
+ sudo apt-get -y -q install msopenjdk-11
213
223
214
224
echo " java version"
215
225
java -version
216
- validate_status " Check status of Zulu JDK 8."
226
+ validate_status " Check status of OpenJDK 11."
227
+
228
+
229
+ export JAVA_HOME=/usr/lib/jvm/msopenjdk-11-$( dpkg --print-architecture)
230
+ if [ ! -d " ${JAVA_HOME} " ]; then
231
+ echo " Java home ${JAVA_HOME} does not exist."
232
+ exit 1
233
+ fi
234
+ }
235
+
236
+ function install_openjdk11_arm64(){
237
+ local zipFileName=" microsoft-jdk-11.tar.gz"
238
+ sudo curl -m ${curlMaxTime} --retry ${retryMaxAttempt} -fsSL ${jdkArm64Url} -o ${zipFileName}
239
+ sudo mkdir -p /usr/lib/jvm
240
+ local dirName=$( sudo tar -xzvf ${zipFileName} | head -1 | cut -f1 -d" /" )
241
+ sudo tar -xzvf ${zipFileName}
242
+ sudo mv ${dirName} msopenjdk-11-amd64
243
+ sudo mv -f msopenjdk-11-amd64 /usr/lib/jvm/
217
244
218
245
export JAVA_HOME=/usr/lib/jvm/msopenjdk-11-amd64
219
246
if [ ! -d " ${JAVA_HOME} " ]; then
220
247
echo " Java home ${JAVA_HOME} does not exist"
221
248
exit 1
222
249
fi
250
+ }
251
+
252
+ # Install docker, zip, unzip and java
253
+ # Download WebLogic Tools
254
+ function install_utilities() {
255
+ install_docker_multi_arch
256
+
257
+ if [[ " $( dpkg --print-architecture) " == " arm64" ]]; then
258
+ install_openjdk11_arm64
259
+ else
260
+ install_openjdk11_x64
261
+ fi
223
262
224
263
sudo apt -y -q install zip
225
264
zip --help
@@ -378,6 +417,7 @@ function build_wls_image() {
378
417
--wdtArchive ${scriptDir} /model-images/archive.zip \
379
418
--wdtModelOnly \
380
419
--wdtDomainType WLS \
420
+ --platform ${cpuPlatform} \
381
421
--chown ${user} :${group}
382
422
383
423
validate_status " Check status of building WLS domain image."
@@ -413,6 +453,7 @@ export useOracleImage=${11}
413
453
export dbDriversUrls=${12}
414
454
export enablePswlessConnection=${13}
415
455
export dbType=${14}
456
+ export cpuPlatform=${15}
416
457
417
458
export acrImagePath=" $azureACRServer /aks-wls-images:${imageTag} "
418
459
0 commit comments