Spring Boot项目部署到Heroku

1、 注册 Heroku 免费账户

浏览器打开Heroku官网,注册一个免费的用户,在注册时选择 java 语言

Spring Boot项目部署到Heroku

2、安装 Heroku CLI

可以从Heroku官网的Getting Started引导页中下载,选择适合的系统版本,安装到本机电脑

Spring Boot项目部署到Heroku

3、登录到 Heroku

打开命令行,切换到你要发布到Heroku的project 目录下,或者使用IDEA的Terminal直接切换到你的project目录下:

下面涉及到的所有命令都是在项目文件目录下执行的(我的项目目录为 blog)

$ heroku login
Enter your Heroku credentials.
Email: [email protected]
Password:

使用 heroku login 命令,输入注册email和密码,登录

Spring Boot项目部署到Heroku

4、创建 Heroku APP

$ heroku create
Creating warm-eyrie-9006... done, stack is cedar-14
http://warm-eyrie-9006.herokuapp.com/ | https://git.heroku.com/warm-eyrie-9006.git
Git remote heroku added

该命令会自动在Heroku云端创建项目,项目名称随机生成,当前生成项目 warm-eyrie-9006

5、为本地项目创建 Git repository

本地项目部署到Heroku之前,需要先把本地项目存储到 Git 仓库。这里要求你本地已安装并配置好 Git 工具 。执行以下命令:

$ git init
$ git add .
$ git commit -m "first commit"

以上命令在你项目目录路径下执行

6、部署本地项目代码到Heroku

$ git push heroku master
Initializing repository, done.
Counting objects: 110, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (87/87), done.
Writing objects: 100% (110/110), 212.71 KiB | 0 bytes/s, done.
Total 110 (delta 30), reused 0 (delta 0)

-----> Java app detected
-----> Installing OpenJDK 1.8... done
-----> Installing Maven 3.3.3... done
-----> Executing: mvn -B -DskipTests=true clean install
       [INFO] Scanning for projects...
...
       [INFO] ------------------------------------------------------------------------
       [INFO] BUILD SUCCESS
       [INFO] ------------------------------------------------------------------------
       [INFO] Total time: 11.417s
       [INFO] Finished at: Thu Sep 11 17:16:38 UTC 2014
       [INFO] Final Memory: 21M/649M
       [INFO] ------------------------------------------------------------------------
-----> Discovering process types
       Procfile declares types -> web

7、Heroku 上添加 MySQL 数据库

参考:http://selimsalihovic.github.io/2016-02-07-using-mysql-on-heroku/

到 Heroku 官网,用创建好的账户登录进去。然后打开自己已创建的项目主页

Spring Boot项目部署到Heroku

Spring Boot项目部署到Heroku

点击,Configure Add - ons

Spring Boot项目部署到Heroku

选择ClearDB MySQL之后,如果新用户的话,会提示你绑定信用卡信息。绑定信用卡后,才可以使用。这个是免费的,不会扣费。

你需要到用户设置里面,绑定信息栏目,绑定你的信用卡信息

Spring Boot项目部署到Heroku

绑定之后,选择安装 ClearDB MySQL 。

使用 heroku addons 命令可以看到已安装的数据库。

$ heroku addons
Add-on                          Plan    Price  State  
──────────────────────────────  ──────  ─────  ───────
cleardb (cleardb-closed-91123)  ignite  free   created
 └─ as CLEARDB_DATABASE
The table above shows add-ons and the attachments to the current app (lirenmi) or other apps.

8、获取数据库连接信息

使用 heroku config 命令可以获取 MySQL 数据库的连接 URL

$ heroku config
=== lirenmi Config Vars
CLEARDB_DATABASE_URL: mysql://b7ce049873150c:[email protected]/heroku_ea61f7c1c8e72d6?reconnect=true

获取MySQL数据库的连接用户名和密码:

从项目主页,找到已安装的 ClearDB MySQL数据库

Spring Boot项目部署到Heroku

点击进入数据库信息页面。

Spring Boot项目部署到Heroku

选择 System Information 找到连接数据库的用户名和密码

Spring Boot项目部署到Heroku

9、本地连接数据库,初始化信息

我使用了Navicat工具连接数据库,这里需要注意的是主机名或IP地址,选择数据库URL的一部分 us-cdbr-iron-east-05.cleardb.net

CLEARDB_DATABASE_URL: mysql://b7ce049873150c:[email protected]/heroku_ea61f7c1c8e72d6?reconnect=true

Spring Boot项目部署到Heroku

连接成功之后,可以创建数据库和初始化用户信息。

10、修改本地项目的数据库连接配置

修改本地项目的数据库连接配置

Spring Boot项目部署到Heroku

11、增加Procfile配置文件

在项目根目录增加 Procfile 配置文件,配置内容如下:

web java -Dserver.port=$PORT $JAVA_OPTS -jar target/blog-0.0.1-SNAPSHOT.jar

12、编译和打包本地项目

项目根目录下执行:

$ mvn package -Dmaven.test.skip=true

获取

$ mvn clean install

13、再发布和提交到Heroku

项目根目录依次执行:

$ git init
$ git add .
$ git commit -m "released commit"
$ git push heroku master

现在程序已经配属到 Heroku 上了

14、打开项目访问主页

执行下面的命令,会在浏览器打开项目主页,我的项目主页地址为:https://lirenmi.herokuapp.com/

$ heroku open

15、跟踪日志

可以在本地查看 Heroku 的运行日志,执行以下命令:

$ heroku logs --tail

Spring Boot项目部署到Heroku

16、如果想更改Heroku上项目的名称可以使用以下方法

二.在终端iterm修改heroku app的名称
方法1:进入对应app的专案,修改app名称
1.打开终端,登录heroku,切换到要修该的app下
2.执行heroku apps:rename xxx (xxx是你的app的新名称)
3.更新remote,
执行git remote rm heroku
执行heroku git:remote -a xxx

参考链接:

https://devcenter.heroku.com/articles/getting-started-with-java#introduction

http://selimsalihovic.github.io/2016-02-07-using-mysql-on-heroku/

http://xyy601-blog.logdown.com/posts/1387963-the-basics-how-to-rename-your-heroku-app-name

https://docs.spring.io/spring-boot/docs/1.5.8.RELEASE/reference/htmlsingle/#cloud-deployment-heroku

参考项目:https://github.com/britter/spring-boot-heroku-demo

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章