2.7 KiB
2.7 KiB
Heroku Terraform 配置说明
当前状态
由于网络连接问题,无法自动下载 Heroku Terraform provider。以下是解决方案。
方案一:手动下载 Provider(推荐)
1. 手动下载 Heroku Provider
# 创建插件目录
mkdir -p ~/.terraform.d/plugins/linux_amd64/
# 下载 provider(需要网络连接)
cd ~/.terraform.d/plugins/linux_amd64/
wget https://github.com/heroku/terraform-provider-heroku/releases/download/v5.3.2/terraform-provider-heroku_5.3.2_linux_amd64.zip
# 解压
unzip terraform-provider-heroku_5.3.2_linux_amd64.zip
rm terraform-provider-heroku_5.3.2_linux_amd64.zip
# 返回项目目录
cd /home/ben/terraform/heroku
# 初始化
terraform init
2. 使用配置文件
# 应用配置
terraform apply -var="heroku_api_key=$(head -1 .env)" -var="heroku_email=$(tail -1 .env)"
方案二:使用 Heroku CLI(替代方案)
如果 Terraform provider 无法使用,可以直接使用 Heroku CLI:
安装 Heroku CLI
# 使用 snap 安装
sudo snap install --classic heroku
# 或使用 npm
npm install -g heroku
登录 Heroku
heroku login
创建应用
# 创建新应用
heroku create my-app
# 查看应用
heroku apps
# 添加 PostgreSQL
heroku addons:create heroku-postgresql:essential-0
# 添加 Redis
heroku addons:create heroku-redis:mini
# 设置环境变量
heroku config:set NODE_ENV=production PORT=8080
# 查看日志
heroku logs --tail
# 部署应用
git push heroku main
方案三:使用 HTTP 代理
如果你有可用的代理,可以配置环境变量:
# 设置代理
export HTTP_PROXY=http://your-proxy:port
export HTTPS_PROXY=http://your-proxy:port
# 初始化 Terraform
terraform init
当前账户信息
根据 API 查询,你的 Heroku 账户有以下应用:
- 应用名称: cauldron
- 应用 URL: https://cauldron-6e3816f9af3f.herokuapp.com/
- Stack: heroku-24
- 区域: us
- 邮箱: houzhongxu@seekkey.tech
Terraform 配置文件说明
main.tf 包含以下资源:
- Heroku App - 主应用
- Formation - Web dyno 配置
- PostgreSQL Add-on - 数据库
- Redis Add-on - 缓存
- Config Vars - 环境变量
可自定义的变量
app_name- 应用名称(默认:terraform-app)region- 区域(默认:us)stack- Stack 版本(默认:heroku-22)dyno_size- Dyno 规格(默认:basic)
注意事项
- Heroku 免费版已经停止,需要付费使用
- Add-ons 会产生额外费用
- 建议先在测试环境验证配置
- 记得定期检查账单和资源使用情况