#!/usr/bin/env bash set -euo pipefail echo "正在准备部署到阿里云容器镜像服务..." # 阿里云容器镜像服务参数 # 请根据您的实际情况修改以下参数 # 阿里云容器镜像服务地域 REGISTRY_REGION="cn-hangzhou" # 命名空间 NAMESPACE="hmm316" # 镜像仓库名称 REPOSITORY_NAME="contract-approval" # 镜像版本默认值 IMAGE_VERSION="v1.0.0" # 阿里云容器镜像服务登录名 USERNAME="742065561@qq.com" # Registry 登录密码 # 为安全起见,不在脚本中硬编码密码 #vH#DYxZij8zk^Jr echo "默认密码:#vH#DYxZij8zk^Jr" PASSWORD="" REGISTRY_HOST="registry.${REGISTRY_REGION}.aliyuncs.com" IMAGE_NAME="${REGISTRY_HOST}/${NAMESPACE}/${REPOSITORY_NAME}:${IMAGE_VERSION}" # 手动输入镜像版本 read -r -p "请输入镜像版本(例如: v1.0.0): " INPUT_VERSION if [ -n "${INPUT_VERSION}" ]; then IMAGE_VERSION="${INPUT_VERSION}" fi IMAGE_NAME="${REGISTRY_HOST}/${NAMESPACE}/${REPOSITORY_NAME}:${IMAGE_VERSION}" # 显示将要使用的配置 echo "将使用以下配置:" echo "地域: ${REGISTRY_REGION}" echo "命名空间: ${NAMESPACE}" echo "仓库名称: ${REPOSITORY_NAME}" echo "镜像版本: ${IMAGE_VERSION}" echo "登录用户: ${USERNAME}" echo "完整镜像名: ${IMAGE_NAME}" echo "" # 确认是否继续 read -r -p "是否继续部署? (y/n): " CONFIRM if [ "${CONFIRM}" != "y" ] && [ "${CONFIRM}" != "Y" ]; then echo "部署已取消" exit 0 fi if ! command -v docker >/dev/null 2>&1; then echo "未检测到 docker 命令,请先安装 Docker。" exit 1 fi if [ -z "${PASSWORD}" ]; then read -r -s -p "请输入阿里云镜像仓库密码: " PASSWORD echo "" fi # 登录阿里云容器镜像服务 echo "正在登录阿里云容器镜像服务..." printf "%s" "${PASSWORD}" | docker login --username="${USERNAME}" --password-stdin "${REGISTRY_HOST}" # 构建镜像 echo "正在构建镜像..." docker build -t "${IMAGE_NAME}" . # 推送镜像 echo "正在推送镜像到阿里云..." docker push "${IMAGE_NAME}" echo "镜像已成功推送到阿里云容器镜像服务!" echo "镜像地址: ${IMAGE_NAME}" echo "创建部署配置文件..." cat > docker-compose-aliyun.yml <