欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解Spring Boot 項目部署到heroku爬坑

 更新時間:2018年08月12日 15:19:46   作者:吐吐吐吐吐葡萄皮  
這篇文章主要介紹了詳解Spring Boot 項目部署到heroku爬坑,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

​ 背景:最近小組進行一個環(huán)境比較惡劣的項目,由于沒有真實的測試環(huán)境,決定上云,最終選擇國外的heroku,折騰半天,其中有一些坑在這里記錄下來,方便網(wǎng)友及個人。

1.賬號注冊

​ heroku官網(wǎng): https://www.heroku.com

​ 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的注冊界面:

PS:

  • heroku的網(wǎng)站需要翻墻才能訪問,并且設(shè)置翻墻軟件的模式為全局模式。
  • heroku貌似不接受中國有限注冊(Country可以選擇中國區(qū)域),個人使用Gmail注冊

 2.安裝CLI

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

3.heroku基本操作

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

 詳細教程請參見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的童鞋應該了解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)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 使用WebUploader實現(xiàn)分片斷點上傳文件功能(二)

    使用WebUploader實現(xiàn)分片斷點上傳文件功能(二)

    這篇文章主要為大家詳細介紹了使用WebUploader實現(xiàn)分片斷點上傳文件功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • SpringCloud融入Python的實現(xiàn)

    SpringCloud融入Python的實現(xiàn)

    這篇文章主要介紹了SpringCloud融入Python的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-12-12
  • springboot + devtools(熱部署)實例教程

    springboot + devtools(熱部署)實例教程

    devtools是boot的一個熱部署工具,當我們修改了classpath下的文件(包括類文件、屬性文件、頁面等)時,會重新啟動應用。本文通過實例給大家介紹springboot+devtools熱部署,感興趣的朋友一起看看吧
    2017-04-04
  • Java驗證碼圖片生成代碼

    Java驗證碼圖片生成代碼

    這篇文章主要為大家詳細介紹了Java驗證碼圖片生成代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • Mybatis中isNotNull與isNotEmpty的使用心得

    Mybatis中isNotNull與isNotEmpty的使用心得

    這篇文章主要介紹了Mybatis中isNotNull與isNotEmpty的使用心得,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Java中隊列Queue和Deque的區(qū)別與代碼實例

    Java中隊列Queue和Deque的區(qū)別與代碼實例

    學過數(shù)據(jù)結(jié)構(gòu)的,一定對隊列不陌生,java也實現(xiàn)了隊列,下面這篇文章主要給大家介紹了關(guān)于Java中隊列Queue和Deque區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2021-08-08
  • java外賣訂餐系統(tǒng)小項目

    java外賣訂餐系統(tǒng)小項目

    這篇文章主要為大家詳細介紹了java外賣訂餐系統(tǒng)小項目,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • JAVA8 的StringJoiner 使用及原理解析

    JAVA8 的StringJoiner 使用及原理解析

    這篇文章主要介紹了JAVA8 的StringJoiner 使用及原理解析,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • Java Springboot整合支付寶接口的教程詳解

    Java Springboot整合支付寶接口的教程詳解

    這篇文章主要為大家詳細介紹了Java Springboot實現(xiàn)整合支付寶接口的教程,文中的示例代碼講解詳細,具有一定的參考價值,需要的可以參考一下
    2023-02-02
  • Java 凍結(jié)或解除凍結(jié)Excel中的行和列的方法

    Java 凍結(jié)或解除凍結(jié)Excel中的行和列的方法

    這篇文章主要介紹了Java 凍結(jié)或解除凍結(jié)Excel中的行和列的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-03-03

最新評論