溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么在heroku中部署一個Spring Boot 項目

發(fā)布時間:2021-03-11 15:51:06 來源:億速云 閱讀:247 作者:Leah 欄目:編程語言

今天就跟大家聊聊有關(guān)怎么在heroku中部署一個Spring Boot 項目,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

1.賬號注冊

heroku免費注冊賬號,heroku提供的功能已經(jīng)可以滿足大部分個人需求,有特殊需求的用戶就需要進行付費了,比如heroku的數(shù)據(jù)庫的免費空間只有5M,且項目在30分鐘內(nèi)無人訪問就會休眠,下面是heroku對于休眠的說明:

By default, your app is deployed on a free dyno. Free dynos will sleep after a half hour of inactivity (if they don't receive any traffic). This causes a delay of a few seconds for the first request upon waking. Subsequent requests will perform normally. Free dynos also consume from a monthly, account-level quota of free dyno hours - as long as the quota is not exhausted, all free apps can continue to run.To avoid dyno sleeping, you can upgrade to a hobby or professional dyno type as described in the Dyno Types article. For example, if you migrate your app to a professional dyno, you can easily scale it by running a command telling Heroku to execute a specific number of dynos, each running your web process type.

heroku的注冊界面:

怎么在heroku中部署一個Spring Boot 項目

PS:

  • heroku的網(wǎng)站需要翻墻才能訪問,并且設(shè)置翻墻軟件的模式為全局模式。

  • heroku貌似不接受中國有限注冊(Country可以選擇中國區(qū)域),個人使用Gmail注冊

 2.安裝CLI

簡單注冊完賬號以后在官網(wǎng)登陸個人賬號,點擊Getting Started,選擇一樣自己需要的語言,然后選擇合適自己系統(tǒng)的版本,下載安裝CLI,本人為MAC系統(tǒng)。

怎么在heroku中部署一個Spring Boot 項目

怎么在heroku中部署一個Spring Boot 項目

3.heroku基本操作

官網(wǎng)給了比較詳細的操作說明,這里就不一一贅述,大家可以跟著官方教程一步一步操作,這里只說一下個人實踐過程中遇到的問題,附送一些官網(wǎng)教程的截圖。

怎么在heroku中部署一個Spring Boot 項目

怎么在heroku中部署一個Spring Boot 項目

 詳細教程請參見heroku官網(wǎng)

4.遇到的問題

上傳項目到heroku時,一般系統(tǒng)會自動幫你打包并運行你的項目,這里我遇到兩個問題:

git的個人分支無法上傳

項目無法啟動

下面是解決方法:

1.git個人分支無法上傳

官網(wǎng)上上傳項目給了一條指令:

$ 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

但是實際項目中,我是在自己的分支上開發(fā),然后我用git上傳自己的分支:

$ git push heroku XXX

運行結(jié)果

Total 0 (delta 0), reused 0 (delta 0)
remote: Pushed to non-master branch, skipping build.
To https://git.heroku.com/certberus.git
f2c01f2..40aa59d xxx -> xxx

這樣顯然是不對的,最后發(fā)現(xiàn)上傳分支需要這樣輸入:

$ git push heroku XXX:master

這樣你的分支修改的內(nèi)容就會合并到mater上進行上傳,然后運行了。

2.項目無法啟動

通常maven項目在打包時,會被打成war包或者jar包,熟悉Spring boot的童鞋應(yīng)該了解Spring boot的運行命令,其實heroku運行項目也非常簡單。

首先說一下正常的一個文件的Spring boot部署到heroku,需要在根目錄添加一個Procfile文件,告訴heroku你要打包哪個文件,文件內(nèi)容如下:

web java -Dserver.port=$PORT $JAVA_OPTS -jar target/*.jar

但是本人的項目為多個子項目打包,啟動類在子項目中,這樣如何來讓heroku啟動呢,自己不停的修改Procfile中的文件路徑仍然不起作用,后來發(fā)現(xiàn)heroku中有一個很爽的命令,如下:

$ heroku run bash

這樣就相當于遠程登錄一臺Linux服務(wù)器啦,我們可以使用Linux命令查看自己部署在heroku上的項目的目錄結(jié)構(gòu)啦,找到需要運行的jar包,將其在云端的路徑修改到Procfile文件中,再次上傳項目,就會發(fā)現(xiàn)項目跑起來了。

看完上述內(nèi)容,你們對怎么在heroku中部署一個Spring Boot 項目有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI