最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

1.賬號注冊

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

? heroku免費(fèi)注冊賬號,heroku提供的功能已經(jīng)可以滿足大部分個人需求,有特殊需求的用戶就需要進(jìn)行付費(fèi)了,比如heroku的數(shù)據(jù)庫的免費(fèi)空間只有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貌似不接受中國有限注冊(Country可以選擇中國區(qū)域),個人使用Gmail注冊

 2.安裝CLI

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

3.heroku基本操作

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

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

4.遇到的問題

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

git的個人分支無法上傳

項目無法啟動

下面是解決方法:

1.git個人分支無法上傳

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

$ git push heroku master

? 然后會得到這樣一個運(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í)際項目中,我是在自己的分支上開發(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

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

$ git push heroku XXX:master

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

2.項目無法啟動

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

? 首先說一下正常的一個文件的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

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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • java注解的全面分析

    java注解的全面分析

    這篇文章主要介紹了java注解的全面分析的相關(guān)資料,Java提供的一種原程序中的元素關(guān)聯(lián)任何信息和任何元數(shù)據(jù)的途徑和方法,需要的朋友可以參考下
    2017-08-08
  • Java中static關(guān)鍵字的作用解析

    Java中static關(guān)鍵字的作用解析

    這篇文章主要介紹了Java中static關(guān)鍵字的作用解析,Java 中,不能在所有類之外定義全局變量,只能通過在一個類中定義公用、靜態(tài)的變量來實(shí)現(xiàn)一個全局變量,需要的朋友可以參考下
    2023-11-11
  • Java讀文件修改默認(rèn)換行符的實(shí)現(xiàn)

    Java讀文件修改默認(rèn)換行符的實(shí)現(xiàn)

    這篇文章主要介紹了Java讀文件修改默認(rèn)換行符的實(shí)現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • JDK1.8中ConcurrentHashMap中computeIfAbsent死循環(huán)bug問題

    JDK1.8中ConcurrentHashMap中computeIfAbsent死循環(huán)bug問題

    這篇文章主要介紹了JDK1.8中ConcurrentHashMap中computeIfAbsent死循環(huán)bug,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • 淺析Java Web錯誤/異常處理頁面

    淺析Java Web錯誤/異常處理頁面

    這篇文章主要和大家一起對Java Web錯誤/異常處理頁面進(jìn)行分析研究,感興趣的小伙伴們可以參考一下
    2016-03-03
  • 一文詳解Reactor模型與實(shí)現(xiàn)示例

    一文詳解Reactor模型與實(shí)現(xiàn)示例

    這篇文章主要為大家介紹了Reactor模型與實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • MyBatis一次執(zhí)行多條SQL語句的操作

    MyBatis一次執(zhí)行多條SQL語句的操作

    這篇文章主要介紹了MyBatis一次執(zhí)行多條SQL語句的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • Gateway實(shí)現(xiàn)限流的一些常見方式

    Gateway實(shí)現(xiàn)限流的一些常見方式

    文章介紹了如何在SpringCloudGateway中實(shí)現(xiàn)限流,包括基于請求次數(shù)、令牌桶算法、IP地址和時間窗口等多種限流策略,通過配置RequestRateLimiter過濾器和KeyResolver,可以靈活地控制不同來源的請求頻率,確保系統(tǒng)穩(wěn)定性和可用性,感興趣的朋友一起看看吧
    2025-02-02
  • 如何關(guān)閉 IDEA 自動更新

    如何關(guān)閉 IDEA 自動更新

    這篇文章主要介紹了如何關(guān)閉 IDEA 自動更新,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • 解決springboot中@DynamicUpdate注解無效的問題

    解決springboot中@DynamicUpdate注解無效的問題

    這篇文章主要介紹了解決springboot中@DynamicUpdate注解無效的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07

最新評論

墨竹工卡县| 岑巩县| 玉树县| 晋宁县| 三都| 巴青县| 黄山市| 昌邑市| 太仓市| 大埔区| 新竹市| 阿克| 灵石县| 大关县| 东兰县| 平阴县| 吴江市| 腾冲县| 太原市| 渝中区| 昌邑市| 洱源县| 周口市| 汾阳市| 舞钢市| 平昌县| 大兴区| 修武县| 普安县| 东丰县| 政和县| 陇川县| 罗甸县| 汉源县| 边坝县| 东源县| 凤阳县| 博野县| 和田市| 阿拉尔市| 定日县|