#!/bin/bash # 前端 Docker 构建打包脚本 # 这个脚本用于在没有 Docker 环境的本地打包项目,然后上传到服务器构建 echo "🚀 开始打包前端项目..." # 1. 清理旧的构建文件 echo "📦 清理旧文件..." rm -rf dist-build.tar.gz docker-build.tar.gz # 2. 构建生产版本 echo "🔨 构建生产版本..." npm run build # 3. 创建构建目录 echo "📁 创建构建包..." mkdir -p build-package # 4. 复制必要文件 echo "📋 复制文件..." cp Dockerfile build-package/ cp docker-compose.yml build-package/ cp package.json build-package/ cp package-lock.json build-package/ cp -r dist build-package/ # 5. 复制其他必要文件(跳过 node_modules) cp -r src build-package/ cp -r public build-package/ cp index.html build-package/ cp vite.config.js build-package/ # 6. 创建部署脚本 cat > build-package/deploy.sh << 'EOF' #!/bin/bash # 服务器部署脚本 echo "🚀 开始部署前端应用..." # 安装依赖 echo "📦 安装依赖..." npm ci --only=production # 构建镜像 echo "🔨 构建 Docker 镜像..." docker build -t deotaland-frontend . # 运行容器 echo "🐳 运行容器..." docker run -d -p 80:3000 --restart=always --name frontend deotaland-frontend echo "✅ 部署完成!访问 http://your-server-ip" EOF chmod +x build-package/deploy.sh # 7. 打包 echo "📦 创建压缩包..." tar -czf docker-build.tar.gz build-package/ echo "✅ 打包完成!" echo "📁 文件:docker-build.tar.gz" echo "📤 下一步:上传到服务器并解压运行"