38 lines
967 B
Bash
Executable File
38 lines
967 B
Bash
Executable File
#!/usr/bin/env bash
|
||
set -euo pipefail
|
||
|
||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||
ENV_FILE="${SCRIPT_DIR}/../.env.registry"
|
||
REGISTRY="registry.fishestlife.com"
|
||
|
||
if [[ ! -f "$ENV_FILE" ]]; then
|
||
echo "错误:找不到 ${ENV_FILE}"
|
||
echo "请从模板创建并填入账号密码"
|
||
exit 1
|
||
fi
|
||
|
||
# shellcheck source=/dev/null
|
||
source "$ENV_FILE"
|
||
|
||
if [[ -z "${REGISTRY_USER:-}" || -z "${REGISTRY_PASS:-}" ]]; then
|
||
echo "错误:REGISTRY_USER 或 REGISTRY_PASS 未设置"
|
||
echo "请编辑 ${ENV_FILE} 填入凭证"
|
||
exit 1
|
||
fi
|
||
|
||
echo "登录镜像仓库 ${REGISTRY} ..."
|
||
echo "$REGISTRY_PASS" | docker login "$REGISTRY" -u "$REGISTRY_USER" --password-stdin
|
||
|
||
# 推送参数:镜像名:标签
|
||
IMAGE="${1:-}"
|
||
if [[ -z "$IMAGE" ]]; then
|
||
echo "用法:$0 <镜像名:标签>"
|
||
echo "示例:$0 user-service:latest"
|
||
exit 1
|
||
fi
|
||
|
||
echo "推送镜像 ${IMAGE} ..."
|
||
docker push "${REGISTRY}/${IMAGE}"
|
||
|
||
echo "完成:${REGISTRY}/${IMAGE}"
|