68 lines
2.0 KiB
Bash
Executable File
68 lines
2.0 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Copyright 2021 Alibaba Group Holding Limited.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
|
|
SOURCE_REPO=polardbx
|
|
SOURCE_VERSION=v1.4.1
|
|
DEST_REPO=polardbx
|
|
DEST_VERSION=latest
|
|
TARGETS="xstore-tools polardbx-operator probe-proxy polardbx-exporter polardbx-init polardbx-hpfs polardbx-job"
|
|
|
|
#pull from source image and tag it
|
|
for i in $TARGETS
|
|
do
|
|
docker pull $SOURCE_REPO/$i:$SOURCE_VERSION-arm64
|
|
docker tag $SOURCE_REPO/$i:$SOURCE_VERSION-arm64 $DEST_REPO/$i:$DEST_VERSION-arm64
|
|
docker pull $SOURCE_REPO/$i:$SOURCE_VERSION-amd64
|
|
docker tag $SOURCE_REPO/$i:$SOURCE_VERSION-amd64 $DEST_REPO/$i:$DEST_VERSION-amd64
|
|
docker tag $SOURCE_REPO/$i:$SOURCE_VERSION-amd64 $DEST_REPO/$i:$DEST_VERSION
|
|
done
|
|
|
|
#push
|
|
for i in $TARGETS
|
|
do
|
|
docker push $DEST_REPO/$i:$DEST_VERSION-arm64
|
|
docker push $DEST_REPO/$i:$DEST_VERSION-amd64
|
|
docker push $DEST_REPO/$i:$DEST_VERSION
|
|
done
|
|
|
|
#create manifest
|
|
for i in $TARGETS
|
|
do
|
|
docker manifest rm "${DEST_REPO}"/$i:"${DEST_VERSION}"
|
|
docker manifest create "${DEST_REPO}"/$i:"${DEST_VERSION}" \
|
|
"${DEST_REPO}"/$i:"${DEST_VERSION}"-arm64 \
|
|
"${DEST_REPO}"/$i:"${DEST_VERSION}"-amd64 --amend
|
|
done
|
|
|
|
|
|
# 设置manifest
|
|
for i in $TARGETS
|
|
do
|
|
docker manifest annotate "${DEST_REPO}"/$i:"${DEST_VERSION}" \
|
|
"${DEST_REPO}"/$i:"${DEST_VERSION}"-arm64 \
|
|
--os linux --arch arm64
|
|
|
|
docker manifest annotate "${DEST_REPO}"/$i:"${DEST_VERSION}" \
|
|
"${DEST_REPO}"/$i:"${DEST_VERSION}"-amd64 \
|
|
--os linux --arch amd64
|
|
done
|
|
|
|
#push manifest
|
|
for i in $TARGETS
|
|
do
|
|
docker manifest push "${DEST_REPO}"/$i:"${DEST_VERSION}"
|
|
done |