You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现Git托管的Django应用每周自动部署到Heroku并执行数据库迁移?

基础实现Heroku Django应用每周自动化发布方案

一、前置准备

  • 本地安装Heroku CLI并完成登录(执行heroku login)
  • 确认Git仓库已与目标Heroku应用关联(执行heroku git:remote -a 你的应用名称)
  • 从Heroku账户设置中生成API密钥,用于自动化场景下的无交互认证

二、核心自动化脚本(Shell示例)

编写一个Shell脚本,整合代码部署与数据库迁移操作,等效于控制台的"Deploy Branch"功能:

#!/bin/bash

# 替换为你的Heroku应用名称
APP_NAME="your-heroku-app-name"

# 1. 拉取Git仓库最新代码(按需调整分支,比如main/master)
git pull origin main

# 2. 推送代码到Heroku触发部署
git push heroku main

# 3. 远程执行数据库迁移命令
heroku run python3 manage.py migrate --app $APP_NAME

三、解决CLI无交互登录问题

若之前CLI执行失败是因为需要手动登录验证,可通过环境变量注入API密钥实现无交互操作:

# 在脚本开头添加,替换为你的Heroku API密钥(建议存在自动化工具的环境变量中,不要硬编码)
export HEROKU_API_KEY="your-heroku-api-key"

四、配置每周定时触发

根据现有自动化环境选择对应方案:

  • Linux Crontab:执行crontab -e编辑定时任务,添加以下配置(示例为每周日凌晨2点执行):
    0 2 * * 0 /path/to/your/deploy-script.sh >> /var/log/heroku-deploy.log 2>&1
    
  • 现有自动化脚本集成:将上述Shell脚本的核心命令,直接嵌入你当前Oracle APEX产品的每周发布脚本中即可

五、验证步骤

  1. 手动执行脚本,确认代码推送、应用部署、数据库迁移全流程无报错
  2. 通过heroku logs --app $APP_NAME --tail查看应用日志,验证部署与迁移结果

内容的提问来源于stack exchange,提问作者Toby Smith

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 20:02:47