采用deepseek的部署脚本

This commit is contained in:
2025-02-10 23:10:49 +08:00
parent 353f1f4ffd
commit 5bf53beef3

View File

@@ -1,49 +1,36 @@
name: Deploy Django App name: Deploy Django
on: on:
push: push:
branches: branches: [ main ] # 触发分支
- main # 触发条件:当代码推送到 main 分支时
jobs: jobs:
deploy: deploy:
runs-on: ubuntu-latest # 使用 GitHub 提供的 Ubuntu 环境 runs-on: ubuntu-latest
steps: steps:
# 步骤 1检出代码
- name: Checkout code - name: Checkout code
uses: actions/checkout@v3 uses: actions/checkout@v4
# 步骤 2设置 Python 环境
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.9' # 指定 Python 版本
# 步骤 3安装依赖
- name: Install dependencies - name: Install dependencies
run: | run: |
python -m pip install --upgrade pip python -m pip install --upgrade pip
pip install -r requirements.txt pip install -r requirements.txt
# 步骤 4运行测试可选
- name: Run tests - name: Run tests
run: | run: python manage.py test
python manage.py test
# 步骤 5部署到生产服务器 - name: Deploy to Server
- name: Deploy to production
uses: appleboy/ssh-action@v1 uses: appleboy/ssh-action@v1
with: with:
host: ${{ secrets.PRODUCTION_HOST }} # 生产服务器 IP 或域名 host: ${{ secrets.SERVER_IP }}
username: ${{ secrets.PRODUCTION_USER }} # SSH 用户名 username: ${{ secrets.SSH_USER }}
key: ${{ secrets.PRODUCTION_SSH_KEY }} # SSH 私钥 key: ${{ secrets.SSH_PRIVATE_KEY }}
script: | script: |
cd /opt/myapp # 项目部署目录 cd /var/www/your_project
git pull origin main # 拉取最新代码 git pull origin main
source /opt/myenv/bin/activate # 激活虚拟环境 source venv/bin/activate
pip install -r requirements.txt # 安装依赖 pip install -r requirements.txt
python manage.py collectstatic --noinput # 收集静态文件 python manage.py migrate
python manage.py migrate --noinput # 执行数据库迁移 python manage.py collectstatic --noinput
sudo systemctl restart gunicorn # 重启 Gunicorn sudo systemctl restart gunicorn
sudo systemctl restart nginx # 重启 Nginx sudo systemctl reload nginx