openspg/dev/release/python/build-release-python-aliyun-podman.sh
2025-04-17 16:51:58 +08:00

52 lines
2.1 KiB
Bash
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Copyright 2023 OpenSPG Authors
#
# 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.
IMAGE="spg-registry.cn-hangzhou.cr.aliyuncs.com/spg/openspg-python"
VERSION="0.7"
LATEST="latest"
# 构建 ARM64 镜像
podman build -f Dockerfile --platform linux/arm64/v8 --build-arg MINICONDA_FILE=Miniconda3-py310_25.1.1-2-Linux-aarch64.sh \
-t ${IMAGE}:${VERSION}-arm64 .
podman push ${IMAGE}:${VERSION}-arm64
# 构建 AMD64 镜像
podman build -f Dockerfile --platform linux/amd64 --build-arg MINICONDA_FILE=Miniconda3-py310_25.1.1-2-Linux-x86_64.sh \
-t ${IMAGE}:${VERSION}-amd64 .
podman push ${IMAGE}:${VERSION}-amd64
# 检查并移除已存在的 manifest如果存在
if podman manifest inspect ${IMAGE}:${VERSION} &>/dev/null; then
echo "Manifest already exists, removing it..."
podman manifest rm ${IMAGE}:${VERSION}
else
echo "Manifest does not exist, proceeding with creation and push."
fi
# 创建并推送多架构 manifestVERSION 标签)
podman manifest create ${IMAGE}:${VERSION}
podman manifest add ${IMAGE}:${VERSION} docker://${IMAGE}:${VERSION}-amd64
podman manifest add ${IMAGE}:${VERSION} docker://${IMAGE}:${VERSION}-arm64
podman manifest push ${IMAGE}:${VERSION}
# 检查并移除已存在的 latest manifest如果存在
if podman manifest inspect ${IMAGE}:${LATEST} &>/dev/null; then
echo "Manifest already exists, removing it..."
podman manifest rm ${IMAGE}:${LATEST}
else
echo "Manifest does not exist, proceeding with creation and push."
fi
# 创建并推送多架构 manifestLATEST 标签)
podman manifest create ${IMAGE}:${LATEST}
podman manifest add ${IMAGE}:${LATEST} docker://${IMAGE}:${VERSION}-amd64
podman manifest add ${IMAGE}:${LATEST} docker://${IMAGE}:${VERSION}-arm64
podman manifest push ${IMAGE}:${LATEST}