deotalandAi/apps/frontend/build-package.sh

64 lines
1.5 KiB
Bash
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/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 "📤 下一步:上传到服务器并解压运行"