您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關怎么在heroku中部署一個Spring Boot 項目,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
1.賬號注冊
heroku免費注冊賬號,heroku提供的功能已經可以滿足大部分個人需求,有特殊需求的用戶就需要進行付費了,比如heroku的數據庫的免費空間只有5M,且項目在30分鐘內無人訪問就會休眠,下面是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的注冊界面:
PS:
heroku的網站需要翻墻才能訪問,并且設置翻墻軟件的模式為全局模式。
heroku貌似不接受中國有限注冊(Country可以選擇中國區域),個人使用Gmail注冊
2.安裝CLI
簡單注冊完賬號以后在官網登陸個人賬號,點擊Getting Started,選擇一樣自己需要的語言,然后選擇合適自己系統的版本,下載安裝CLI,本人為MAC系統。
3.heroku基本操作
官網給了比較詳細的操作說明,這里就不一一贅述,大家可以跟著官方教程一步一步操作,這里只說一下個人實踐過程中遇到的問題,附送一些官網教程的截圖。
詳細教程請參見heroku官網
4.遇到的問題
上傳項目到heroku時,一般系統會自動幫你打包并運行你的項目,這里我遇到兩個問題:
git的個人分支無法上傳
項目無法啟動
下面是解決方法:
1.git個人分支無法上傳
官網上上傳項目給了一條指令:
$ 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
但是實際項目中,我是在自己的分支上開發,然后我用git上傳自己的分支:
$ git push heroku XXX
運行結果
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
這樣顯然是不對的,最后發現上傳分支需要這樣輸入:
$ git push heroku XXX:master
這樣你的分支修改的內容就會合并到mater上進行上傳,然后運行了。
2.項目無法啟動
通常maven項目在打包時,會被打成war包或者jar包,熟悉Spring boot的童鞋應該了解Spring boot的運行命令,其實heroku運行項目也非常簡單。
首先說一下正常的一個文件的Spring boot部署到heroku,需要在根目錄添加一個Procfile文件,告訴heroku你要打包哪個文件,文件內容如下:
web java -Dserver.port=$PORT $JAVA_OPTS -jar target/*.jar
但是本人的項目為多個子項目打包,啟動類在子項目中,這樣如何來讓heroku啟動呢,自己不停的修改Procfile中的文件路徑仍然不起作用,后來發現heroku中有一個很爽的命令,如下:
$ heroku run bash
這樣就相當于遠程登錄一臺Linux服務器啦,我們可以使用Linux命令查看自己部署在heroku上的項目的目錄結構啦,找到需要運行的jar包,將其在云端的路徑修改到Procfile文件中,再次上傳項目,就會發現項目跑起來了。
看完上述內容,你們對怎么在heroku中部署一個Spring Boot 項目有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。