技术选型
- spring boot-3.5.14
- jdk-17
- thymeleaf模板引擎
- commonmark把Markdown → HTML
项目搭建
安装依赖pom.xml配置application.yaml
打包部署
package.sh
#!/usr/bin/env bash
# 本地执行:bash deploy/package.sh
# 生成 release/ 目录,上传到服务器 ~/java-blog 后 docker-compose up -d
set -e
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
RELEASE="$ROOT/release"
SERVER_DIR="java-blog"
IP="121.41.59.32"
echo ">>> Maven 打包..."
mvn -f "$ROOT/pom.xml" clean package -DskipTests -q
echo ">>> 组装 release 目录..."
rm -rf "$RELEASE"
mkdir -p "$RELEASE"
cp "$ROOT/target/blog-0.0.1-SNAPSHOT.jar" "$RELEASE/app.jar"
cp "$ROOT/docker-compose.yml" "$RELEASE/"
# 不用 .env.example:scp release/* 不会上传以 . 开头的隐藏文件
cp "$ROOT/deploy/.env.example" "$RELEASE/env.example"
echo ""
echo "完成:$RELEASE"
echo "包含:app.jar、docker-compose.yml、env.example"
echo ""
echo "上传(注意用 release/. 才能包含所有文件):"
echo " scp -r release/app.jar root@${IP}:~/${SERVER_DIR}/"
echo "服务器:"
echo " mkdir -p ~/${SERVER_DIR}"
echo " cd ~/${SERVER_DIR}"
echo " cp env.example .env # 编辑数据库连接"
echo " 首次运行:docker-compose up -d"
echo " 更新服务:docker-compose restart"
java-blog目录下有以下几个文件:
- docker-compose.yml
- .env
- app.jar