Heroku 可以提供免费的web应用服务器分布服务器(并不只限于此),如下记录了如何将自己的应用程序提交到heroku的过程。原英文链接 https://devcenter.heroku.com/articles/git
Heroku是一个利用 Git 来管理App 程序分布的应用。你不需要懂太多 Git 的知识,但是需要了解一个基本的 Git 概念。
预备安装: Git 和 heroku 命令行工具
- Git 安装指导 https://git-scm.com/book/en/v2/Getting-Started-Installing-Git
- Heroku CLI 安装指导 https://devcenter.heroku.com/articles/heroku-cli#download-and-install
用 Git 管理你的项目
在运行和部署应用程序之前,你需要初始化本地的 Git 仓库,并且将代码提交到本地仓库中。 下面的例子将在目录 myapp
下部署项目
$ cd myapp
$ git init
Initialized empty Git repository in .git/
$ git add .
$ git commit -m "My first commit"
Created initial commit 5df2d09: My first commit
44 files changed, 8393 insertions(+), 0 deletions(-)
create mode 100644 README
create mode 100644 Procfile
create mode 100644 app/controllers/source_file
...
创一个 Heroku 远程项目
上面将项目代码提交到了本地项目,但是没有和任何的远程仓库进行关联。如下操作进行远程仓库的关联。关联的时候分为如下几种情况。
- 对于一个新的 Heroku 应用
在项目的根目录(myapp)下,直接使用 heroku create
命令会生成 Heroku 应用,并且Heroku 会自动将刚刚初始化的本地 git 仓库与远程的 Heroku 仓库关联起来。此时,Heroku 会自动生成一个项目名thawing-inlet-61413
。如果想指定名称,可以在 heroku create APPNAME
。前提是 APPNAME 不能和任何其他人的项目重名。
$ heroku create
Creating app... done, ⬢ thawing-inlet-61413
https://thawing-inlet-61413.herokuapp.com/ | https://git.heroku.com/thawing-inlet-61413.git
记住上面的两个地址,一个是你的项目访问地址,一个是你的远程仓库地址
可以使用 git remote -v
查看远程仓库中是否已经有一个名为 heroku
的仓库已经为你的APP 部署而被创建。
$ git remote -v
heroku https://git.heroku.com/thawing-inlet-61413.git (fetch)
heroku https://git.heroku.com/thawing-inlet-61413.git (push)
- 对于一个已经存在的 Heroku 应用
如果是你已经存在了 Heroku 项目,你只是想把本地代码仓库和原先的远程仓库关联起来。使用如下命令(前提是知道 Heroku APP 的名字,比如 “thawing-inlet-61413”)
$ heroku git:remote -a thawing-inlet-61413
set git remote heroku to https://git.heroku.com/thawing-inlet-61413.git
重命名远程仓库名称
通常情况下, Heroku CLI 会命名所有的 Heroku app 的远程仓库分支名为 heroku
。 可以使用 git remote rename
命令来修改远程仓库名
$ git remote rename heroku heroku-staging
如果你有多个 Heroku 应用使用同一份代码库,比如开发环境和生成坏境。你重命名 Heroku 仓库名,将会显得更加便捷。
后续的命令都是在远程仓库分支名为
heroku
情况下进行。
部署代码
为了部署你的 APP 到 Heroku,最常用的方法就是使用 git push
命令将代码有本地仓库的 master
分支,推送到远程的 heroku
仓库。
$ git push heroku master
Initializing repository, done.
updating 'refs/heads/master'
...
无论何时,你想提交最新的编写的代码到 Heroku,都可以使用该命令。
值得注意的是,这个命令只会影响到 master 分支。
如果想体验下如何在 Heroku 中部署项目,可以使用官方提供的例子进行 Java 项目部署,参考例子代码 https://devcenter.heroku.com/articles/getting-started-with-java#deploy-the-app。
国内网络不好,需要自己准备梯子,可以去 GitHub 上搜索 xx-net。 只能说这么多了