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