19 lines
762 B
Bash
19 lines
762 B
Bash
#!/usr/bin/env bash
|
||
# 本地构建 CAS 镜像并推送到阿里云「公网」 registry
|
||
# 用法: ./build-push.sh <version>
|
||
# 前置环境变量: ACR_NAMESPACE, ACR_USERNAME, ACR_PASSWORD
|
||
set -euo pipefail
|
||
VERSION="${1:-latest}"
|
||
REGISTRY="${ACR_REGISTRY_PUBLIC:-registry.cn-hangzhou.aliyuncs.com}"
|
||
NAMESPACE="${ACR_NAMESPACE:?请设置 ACR_NAMESPACE(阿里云镜像命名空间)}"
|
||
IMG="$REGISTRY/$NAMESPACE/yunhai:$VERSION"
|
||
|
||
cd "$(dirname "$0")/.." # 切到项目根(构建上下文需含 target/cas.war)
|
||
echo "== build $IMG =="
|
||
docker build -f docker/Dockerfile -t "$IMG" .
|
||
echo "== login $REGISTRY =="
|
||
echo "$ACR_PASSWORD" | docker login --username="$ACR_USERNAME" --password-stdin "$REGISTRY"
|
||
echo "== push =="
|
||
docker push "$IMG"
|
||
echo "PUSHED $IMG"
|