78 lines
2.2 KiB
YAML
78 lines
2.2 KiB
YAML
name: Deploy AIDA Dev (dev/3.1_release_merge_MS)
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- dev/3.1_release_merge_MS
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
build-and-deploy:
|
|
runs-on: ubuntu-latest
|
|
|
|
env:
|
|
REMOTE_DEPLOY_PATH: /workspace/workspace_aida/DevelopVersion/develop-MS-version-aida-back
|
|
|
|
steps:
|
|
- name: Checkout 代码
|
|
uses: actions/checkout@v4
|
|
with:
|
|
ref: dev/3.1_release_merge_MS
|
|
|
|
- name: 设置 JDK 21
|
|
uses: actions/setup-java@v4
|
|
with:
|
|
distribution: 'temurin'
|
|
java-version: '21'
|
|
cache: 'maven'
|
|
|
|
- name: Maven 打包
|
|
run: mvn clean package -DskipTests --batch-mode --no-transfer-progress
|
|
|
|
- name: 准备部署文件
|
|
run: |
|
|
mkdir -p deploy
|
|
cp target/*.jar deploy/
|
|
cp Dockerfile deploy/
|
|
cp docker-compose.yml deploy/
|
|
|
|
- name: 配置 SSH
|
|
run: |
|
|
mkdir -p ~/.ssh
|
|
echo "${{ secrets.SSH_KEY }}" > ~/.ssh/deploy_key
|
|
chmod 600 ~/.ssh/deploy_key
|
|
ssh-keyscan -H ${{ secrets.SERVER_HOST }} >> ~/.ssh/known_hosts 2>/dev/null || true
|
|
|
|
- name: 部署到远程服务器
|
|
run: |
|
|
REMOTE_USER=${{ secrets.SERVER_USER }}
|
|
REMOTE_HOST=${{ secrets.SERVER_HOST }}
|
|
DEPLOY_PATH=${{ env.REMOTE_DEPLOY_PATH }}
|
|
|
|
echo "开始部署到 $REMOTE_HOST:$DEPLOY_PATH"
|
|
|
|
# 创建远程目录
|
|
ssh -i ~/.ssh/deploy_key -o StrictHostKeyChecking=no $REMOTE_USER@$REMOTE_HOST "
|
|
mkdir -p $DEPLOY_PATH
|
|
"
|
|
|
|
# 上传文件
|
|
scp -i ~/.ssh/deploy_key -o StrictHostKeyChecking=no -r deploy/* $REMOTE_USER@$REMOTE_HOST:$DEPLOY_PATH/
|
|
|
|
# 在服务器执行部署
|
|
ssh -i ~/.ssh/deploy_key -o StrictHostKeyChecking=no $REMOTE_USER@$REMOTE_HOST "
|
|
set -e
|
|
cd $DEPLOY_PATH
|
|
|
|
echo '停止旧容器...'
|
|
docker-compose down || true
|
|
|
|
echo '构建并启动新容器...'
|
|
docker-compose up -d --build
|
|
|
|
echo '部署完成!当前运行容器:'
|
|
docker-compose ps
|
|
docker logs develop-aida-ms --tail 50
|
|
"
|
|
|
|
echo "✅ 部署成功!" |