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

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