test
This commit is contained in:
95
build-with-maven-proxy.sh
Executable file
95
build-with-maven-proxy.sh
Executable file
@@ -0,0 +1,95 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 使用Maven代理的构建脚本
|
||||
set -e
|
||||
|
||||
# 颜色定义
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
# 项目信息
|
||||
PROJECT_NAME="digital-archive"
|
||||
VERSION="latest"
|
||||
DOCKERFILE="Dockerfile"
|
||||
|
||||
# 处理参数
|
||||
USE_OPTIMIZED=false
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case $1 in
|
||||
-o|--optimized)
|
||||
USE_OPTIMIZED=true
|
||||
DOCKERFILE="Dockerfile.optimized"
|
||||
shift
|
||||
;;
|
||||
-h|--help)
|
||||
echo "用法: $0 [选项]"
|
||||
echo "选项:"
|
||||
echo " -o, --optimized 使用优化的Dockerfile"
|
||||
echo " -h, --help 显示帮助信息"
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
echo -e "${GREEN}=== 使用Maven代理构建数字档案系统 ===${NC}"
|
||||
echo -e "${YELLOW}Dockerfile: ${DOCKERFILE}${NC}"
|
||||
echo -e "${YELLOW}优化版本: ${USE_OPTIMIZED}${NC}"
|
||||
|
||||
# 检查Docker是否安装
|
||||
if ! command -v docker &> /dev/null; then
|
||||
echo -e "${RED}错误: Docker未安装${NC}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 检查settings.xml是否存在
|
||||
if [ ! -f "settings.xml" ]; then
|
||||
echo -e "${RED}错误: settings.xml文件不存在${NC}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo -e "${YELLOW}Maven配置文件:${NC}"
|
||||
echo " - 使用国内镜像加速"
|
||||
echo " - 阿里云Maven镜像"
|
||||
echo " - 华为云Maven镜像"
|
||||
echo " - 腾讯云Maven镜像"
|
||||
echo " - 网易云Maven镜像"
|
||||
|
||||
# 构建Docker镜像
|
||||
echo -e "${YELLOW}开始构建Docker镜像...${NC}"
|
||||
docker build -f ${DOCKERFILE} -t ${PROJECT_NAME}:${VERSION} .
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
echo -e "${GREEN}Docker镜像构建成功: ${PROJECT_NAME}:${VERSION}${NC}"
|
||||
else
|
||||
echo -e "${RED}Docker镜像构建失败${NC}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 显示镜像信息
|
||||
echo -e "${YELLOW}镜像信息:${NC}"
|
||||
docker images | grep ${PROJECT_NAME}
|
||||
|
||||
# 显示镜像大小
|
||||
echo -e "${YELLOW}镜像大小:${NC}"
|
||||
docker images ${PROJECT_NAME}:${VERSION} --format "table {{.Repository}}\t{{.Tag}}\t{{.Size}}"
|
||||
|
||||
echo -e "${GREEN}构建完成!${NC}"
|
||||
echo -e "${YELLOW}使用以下命令测试镜像:${NC}"
|
||||
echo "docker run --rm -p 9081:9081 ${PROJECT_NAME}:${VERSION}"
|
||||
|
||||
# 可选:推送到镜像仓库
|
||||
read -p "是否推送到镜像仓库? (y/N): " -n 1 -r
|
||||
echo
|
||||
if [[ $REPLY =~ ^[Yy]$ ]]; then
|
||||
read -p "请输入镜像仓库地址: " REGISTRY
|
||||
if [ ! -z "$REGISTRY" ]; then
|
||||
docker tag ${PROJECT_NAME}:${VERSION} ${REGISTRY}/${PROJECT_NAME}:${VERSION}
|
||||
docker push ${REGISTRY}/${PROJECT_NAME}:${VERSION}
|
||||
echo -e "${GREEN}镜像已推送到: ${REGISTRY}/${PROJECT_NAME}:${VERSION}${NC}"
|
||||
fi
|
||||
fi
|
||||
Reference in New Issue
Block a user