Heroku学习以及相关资料

Heroku 常用命令行

安装Heroku CLI

首先需要安装Heroku CLI在本地中,安装连接如下:

macOS Homebrew 安装如下:

1
$ brew tap heroku/brew && brew install heroku

Ubuntu 16+ 安装如下:

1
$ sudo snap install --classic heroku

或者:

1
$  curl https://cli-assets.heroku.com/install.sh | sh

当然,在snapcraft上也是可以https://snapcraft.io/ 也是可以下载的。
snapcraft链接如下:
https://snapcraft.io/heroku

或者参考官方链接:https://devcenter.heroku.com/articles/heroku-cli#download-and-install

npm方法:
npm的方法需要提前安装Node和npm

1
$ npm install -g heroku

Windows电脑
64位电脑安装下载:
https://cli-assets.heroku.com/heroku-x64.exe
32位电脑安装下载:
https://cli-assets.heroku.com/heroku-x86.exe

如何检查自己是否安装成功?

如下命令行查看目前版本

1
heroku --version

如果发现自己版本不够新,可以使用下面命令行更新

1
heroku update

登入Heroku

首先需要在本地登入,如下方法是会跳转到网页进行授权登入。

1
$ heroku login

有时候,我们在服务器上登入,可以用下面的方法登入

1
2
3
4
5
6
$ heroku login -i
heroku: Enter your login credentials
Email: me@example.com
Password: ***************
Two-factor code: ********
Logged in as me@heroku.com

登入后,命令行会将您的电子邮件地址和API token 保存到~/.netrc 中。

#如果登入有问题怎么办?
如果您在登录时遇到问题,请尝试移动.netrc文件。

1
2
mv ~/.netrc ~/.netrc.backup
heroku login

同时,登出命令行为heroku logout。

如何查看自己的token?

1
2
$ heroku auth:token
c4cd94da15ea0544802c2cfd5ec4ead324327430

如何新建一个项目?

直接输入heroku create就会新建一个app

1
2
3
$  heroku create
› Creating app... done, ⬢ fierce-sands-29965
https://fierce-sands-29965.herokuapp.com/ | https://git.heroku.com/fierce-sands-29965.git

但是该方法会新建一个随机名字的app,这里是fierce-sands-29965,它的git地址为https://git.heroku.com/fierce-sands-29965.git。

如果我们需要创建一个名为“ example”的新应用,可以参考如下:

1
2
3
4
5
6
7
$ mkdir example
$ cd example
$ git init
$ heroku apps:create example
Creating ⬢ example... done
https://example.herokuapp.com/ | https://git.heroku.com/example.git
Git remote heroku added

如果你已经有Repository,可以 在新目录或现有目录中初始化git存储库

1
2
3
4
$ cd my-project/
$ git init
$ heroku git:remote -a my-project
这里所谓的git:remote -a, 翻译成git语言就是git remote add heroku my-project

#如何删除你的app?
假如这里我要删除上午新建的app ‘fierce-sands-29965’,可以使用heroku apps:destroy命令行:

1
2
3
4
5
6
 heroku apps:destroy fierce-sands-29965
› ▸ WARNING: This will delete ⬢ fierce-sands-29965 including all add-ons.
▸ To proceed, type fierce-sands-29965 or re-run this command with --confirm fierce-sands-29965

> fierce-sands-29965
Destroying ⬢ fierce-sands-29965 (including all add-ons)... done

如何复制你的Repository 到本地?

1
2
$ heroku git:clone -a test-app
$ cd test-app

test-app为你在Heroku上的app

#​如何部署你的应用?
​参考如下代码:

1
2
3
$ git add .
$ git commit -am "make it better"
$ git push heroku master

这里就是完全使用Git语言。

如何分叉应用?

有时候你可能需要fork 一个production出来,使用heroku fork复制现有的应用程序,包括加载项,config vars和Heroku Postgres数据。

1
2
3
4
5
6
7
8
$ heroku fork --from sourceapp --to targetapp
Creating fork targetapp... done
Copying slug... done
Adding heroku-postgresql:dev... done
Creating database backup from sourcapp... .. done
Restoring database backup to targetapp... .. done
Copying config vars... done
Fork complete, view it at http://targetapp.herokuapp.com/

注意:原始应用程序称为sourceapp,而新的分支应用程序称为targetapp。

#如何查看现有的app?

1
$ heroku apps

如何查看自己收藏的应用(favorited apps)?

1
$ heroku apps:favorites

如何查看你的app信息?

1
$ heroku apps:info your-app

这里可以查看你的app网站url和安装了那些Addons,还有容量等信息

1
2
3
4
5
6
7
8
9
10
11
=== sfdc-nodejs
Addons: scheduler:standard
Auto Cert Mgmt: false
Dynos: web: 1
Git URL: https://git.heroku.com/sfdc-nodejs.git
Owner: youname@qq.com
Region: us
Repo Size: 5 MB
Slug Size: 27 MB
Stack: heroku-16
Web URL: https://sfdc-nodejs.herokuapp.com/

同时,有时候需要查看你的Heroku配置变量。

1
$ heroku config -a sfdc-nodejs

那么怎么添加变量呢?这里我们添加RAILS_ENV和RACK_ENV都为staging。

1
$ heroku config:set -a sfdc-nodejs RAILS_ENV=staging RACK_ENV=staging

sfdc-nodejs为你的app名字。
假如需要删除变量,

1
$ heroku config:unset -a pernod-ricard-sfdc-nodejs  RAILS_ENV

如何重启dyno?

1
$ heroku dyno:restart -a your-app

如何查看日志Logs?

1
$ heroku logs -a your-app

查看postgresql 数据库信息:

1
$ heroku pg -a your-app

这里可以查看有多少条数据和几个表。

#如何对app进行重命名?

1
$ heroku apps:rename --app oldname newname

注意名字需要用小写。同时,如果修改名字,所有本地Git URL都得修改。

展示Heroku 服务器的地区

1
$ heroku regions

会显示如下

1
2
3
4
5
6
7
8
9
10
ID         Location                 Runtime
───────── ─────────────────────── ──────────────
eu Europe Common Runtime
us United States Common Runtime
dublin Dublin, Ireland Private Spaces
frankfurt Frankfurt, Germany Private Spaces
oregon Oregon, United States Private Spaces
sydney Sydney, Australia Private Spaces
tokyo Tokyo, Japan Private Spaces
virginia Virginia, United States Private Spaces

如何run console?

假如在yourApp 下面有nodeFile.js,需要执行,可以执行如下代码

1
$ heroku run -a yourApp node nodeFile.js

#查看目前sessions

1
$ heroku sessions

查看目前的add-ons

1
2
3
4
5
6
$ heroku addons
Owning App Add-on Plan Price State
───────────────────────── ────────────────────────────── ─────────────────────────── ───── ───────
bitnews1 mongolab-shaped-58019 mongolab:sandbox free created
bitnews1 newrelic-slippery-34265 newrelic:wayne free created
bitnews1 scheduler-dimensional-71609 scheduler:standard free created

如何新建一个PostgreSQL数据库

1
$ heroku addons:create  heroku-postgresql:hobby-dev  -a yourApp

如何新建一个mongolab 数据库

1
$ heroku addons:create  mongolab  -a yourApp

列表可以参考 :https://devcenter.heroku.com/categories/add-on-documentation

新建一个scheduler

1
$ heroku addons:create  scheduler:standard -a yourApp

本文系笔者在开发时候积累的常用命令行,并不是全部命令行,欲查阅全部命令行,请参考Heroku 开发者中心

参考文章: