0606.2
This commit is contained in:
30
.github/workflows/nextjs.yml
vendored
30
.github/workflows/nextjs.yml
vendored
@@ -36,7 +36,7 @@ jobs:
|
||||
|
||||
# 缓存 pnpm 依赖
|
||||
- name: 缓存 pnpm 依赖
|
||||
uses: actions/cache@v4
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: ${{ env.STORE_PATH }}
|
||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
||||
@@ -47,10 +47,6 @@ jobs:
|
||||
- name: 安装依赖
|
||||
run: pnpm install --frozen-lockfile
|
||||
|
||||
# 代码检查
|
||||
- name: 代码检查
|
||||
run: pnpm run lint --fix || true
|
||||
|
||||
# 构建应用
|
||||
- name: 构建应用
|
||||
run: pnpm run build
|
||||
@@ -74,9 +70,9 @@ jobs:
|
||||
# 创建压缩包
|
||||
tar -czf deploy-package.tar.gz -C deploy-package .
|
||||
|
||||
# 上传部署包
|
||||
# 上传部署包 (使用 v3 兼容 GHES)
|
||||
- name: 上传部署包
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: deploy-package
|
||||
path: deploy-package.tar.gz
|
||||
@@ -89,15 +85,15 @@ jobs:
|
||||
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
|
||||
|
||||
steps:
|
||||
# 下载部署包
|
||||
# 下载部署包 (使用 v3 兼容 GHES)
|
||||
- name: 下载部署包
|
||||
uses: actions/download-artifact@v4
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: deploy-package
|
||||
|
||||
# 拷贝部署包到服务器
|
||||
- name: 拷贝部署包到服务器
|
||||
uses: appleboy/scp-action@master
|
||||
uses: appleboy/scp-action@v0.1.4
|
||||
with:
|
||||
host: ${{ secrets.SERVER_HOST }}
|
||||
username: ${{ secrets.SERVER_USERNAME }}
|
||||
@@ -108,7 +104,7 @@ jobs:
|
||||
|
||||
# 在服务器上部署
|
||||
- name: 在服务器上部署应用
|
||||
uses: appleboy/ssh-action@master
|
||||
uses: appleboy/ssh-action@v1.0.0
|
||||
with:
|
||||
host: ${{ secrets.SERVER_HOST }}
|
||||
username: ${{ secrets.SERVER_USERNAME }}
|
||||
@@ -166,7 +162,7 @@ jobs:
|
||||
--name saas2-app \
|
||||
--restart unless-stopped \
|
||||
-p 3000:3000 \
|
||||
--health-cmd="curl -f http://localhost:3000/api/health || exit 1" \
|
||||
--health-cmd="wget --no-verbose --tries=1 --spider http://localhost:3000/api/health || exit 1" \
|
||||
--health-interval=30s \
|
||||
--health-timeout=10s \
|
||||
--health-retries=3 \
|
||||
@@ -174,7 +170,7 @@ jobs:
|
||||
|
||||
# 等待容器启动
|
||||
echo "等待容器启动..."
|
||||
sleep 10
|
||||
sleep 15
|
||||
|
||||
# 检查容器状态
|
||||
if [ "$(docker ps -q -f name=saas2-app)" ]; then
|
||||
@@ -182,6 +178,14 @@ jobs:
|
||||
docker ps | grep saas2-app
|
||||
echo ""
|
||||
echo "应用访问地址: http://$(hostname -I | awk '{print $1}'):3000"
|
||||
|
||||
# 测试健康检查
|
||||
echo "测试健康检查..."
|
||||
if wget --timeout=10 -qO- http://localhost:3000/api/health > /dev/null 2>&1; then
|
||||
echo "✅ 健康检查通过"
|
||||
else
|
||||
echo "⚠️ 健康检查失败,但容器正在运行"
|
||||
fi
|
||||
else
|
||||
echo "❌ 部署失败!容器未能正常启动"
|
||||
echo "容器日志:"
|
||||
|
||||
Reference in New Issue
Block a user