Skip to main content

Heroku

# 安装命令行工具
brew tap heroku/brew && brew install heroku

# 升级 CLI
heroku update

# 构建补全
heroku autocomplete
# 加载补全
$(heroku autocomplete:script bash)
# 添加到 profile 自动加载
printf "$(heroku autocomplete:script bash)" >> ~/.bashrc; source ~/.bashrc

# 创建应用
# 访问地址 https://myapp.herokuapp.com/
# 仓库地址 https://git.heroku.com/myapp.git
heroku apps:create myapp

# Git 部署
heroku git:remote -a <应用名字>
git push heroku master

# 容器部署
# https://devcenter.heroku.com/articles/container-registry-and-runtime
heroku container:login
# web 为类型 - 当前目录下要有 Dockerfile
# 镜像为 registry.heroku.com/myapp/web
heroku container:push web
heroku container:release web

# 使用已有的镜像
docker tag <image> registry.heroku.com/<app>/<process-type>
docker push registry.heroku.com/<app>/<process-type>

# 启动镜像
# type 默认为 web
heroku run bash --type=worker
# 自定义域名
heroku domains:add app.my.com

# heroku addons:create ssl:endpoint
heroku certs:add server.crt server.key --type endpoint
# 应用执行情况
heroku ps -a wener

auth

  • 默认使用 ~/.netrc 中的鉴权信息
# 可以使用 TOKEN 登录
HEROKU_API_KEY=XXX heroku login

# 查看当前 Token
heroku auth:token

# 登录 docker
heroku container:login

dyno

进程类型

调度器 / 周期执行

# 安装扩展
heroku addons:create scheduler:standard

postgres

# 免费的 hobby-dev
# 1W行 20并发
# basic 9$/月 100W 行
# 创建后会生成 DATABASE_URL 变量
heroku addons:create heroku-postgresql:hobby-dev

redis

# free dev: 20M 20并发
# 15$ premium-0: 50M 40并发
# 创建后会生成 REDIS_URL 变量
heroku addons:create heroku-redis:hobby-dev

开发

HEROKU_APP_ID:                   9daa2797-e49b-4624-932f-ec3f9688e3da
HEROKU_APP_NAME: example-app
HEROKU_DYNO_ID: 1vac4117-c29f-4312-521e-ba4d8638c1ac
HEROKU_RELEASE_CREATED_AT: 2015-04-02T18:00:42Z
HEROKU_RELEASE_VERSION: v42
HEROKU_SLUG_COMMIT: 2c3a0b24069af49b3de35b8e8c26765c1dba9ff0
HEROKU_SLUG_DESCRIPTION: Deploy 2c3a0b2