怎么在heroku中部署一個(gè)SpringBoot項(xiàng)目

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

永泰網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)建站,永泰網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為永泰上千提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站建設(shè)要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的永泰做網(wǎng)站的公司定做!

1.賬號(hào)注冊(cè)

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

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的注冊(cè)界面:

怎么在heroku中部署一個(gè)Spring Boot 項(xiàng)目

PS:

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

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

 2.安裝CLI

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

怎么在heroku中部署一個(gè)Spring Boot 項(xiàng)目

怎么在heroku中部署一個(gè)Spring Boot 項(xiàng)目

3.heroku基本操作

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

怎么在heroku中部署一個(gè)Spring Boot 項(xiàng)目

怎么在heroku中部署一個(gè)Spring Boot 項(xiàng)目

 詳細(xì)教程請(qǐng)參見heroku官網(wǎng)

4.遇到的問題

上傳項(xiàng)目到heroku時(shí),一般系統(tǒng)會(huì)自動(dòng)幫你打包并運(yùn)行你的項(xiàng)目,這里我遇到兩個(gè)問題:

git的個(gè)人分支無法上傳

項(xiàng)目無法啟動(dòng)

下面是解決方法:

1.git個(gè)人分支無法上傳

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

$ git push heroku master

然后會(huì)得到這樣一個(gè)運(yùn)行日志:

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

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

$ git push heroku XXX

運(yùn)行結(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

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

$ git push heroku XXX:master

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

2.項(xiàng)目無法啟動(dòng)

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

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

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

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

$ heroku run bash

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

看完上述內(nèi)容,你們對(duì)怎么在heroku中部署一個(gè)Spring Boot 項(xiàng)目有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。

分享題目:怎么在heroku中部署一個(gè)SpringBoot項(xiàng)目
URL地址:http://bm7419.com/article0/psdioo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、標(biāo)簽優(yōu)化、建站公司、網(wǎng)站內(nèi)鏈、小程序開發(fā)、網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)