1、 注册 Heroku 免费账户

浏览器打开Heroku官网,注册一个免费的用户,在注册时选择 java 语言

2、安装 Heroku CLI

可以从Heroku官网的Getting Started引导页中下载,选择适合的系统版本,安装到本机电脑

3、登录到 Heroku

打开命令行,切换到你要发布到Heroku的project 目录下,或者使用IDEA的Terminal直接切换到你的project目录下:

下面涉及到的所有命令都是在项目文件目录下执行的(我的项目目录为 blog)

$ heroku login
Enter your Heroku credentials.
Email: java@example.com
Password:

使用 heroku login 命令,输入注册email和密码,登录

4、创建 Heroku APP

$ heroku create
Creating warm-eyrie-9006... done, stack is cedar-14
http://warm-eyrie-9006.herokuapp.com/ | https://git.heroku.com/warm-eyrie-9006.git
Git remote heroku added

该命令会自动在Heroku云端创建项目,项目名称随机生成,当前生成项目 warm-eyrie-9006

5、为本地项目创建 Git repository

本地项目部署到Heroku之前,需要先把本地项目存储到 Git 仓库。这里要求你本地已安装并配置好 Git 工具 。执行以下命令:

$ git init
$ git add .
$ git commit -m "first commit"

以上命令在你项目目录路径下执行

6、部署本地项目代码到Heroku

$ 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 typesProcfile declares types -> web

7、Heroku 上添加 MySQL 数据库

参考:http://selimsalihovic.github.io/2016-02-07-using-mysql-on-heroku/

到 Heroku 官网,用创建好的账户登录进去。然后打开自己已创建的项目主页

点击,Configure Add - ons

选择ClearDB MySQL之后,如果新用户的话,会提示你绑定信用卡信息。绑定信用卡后,才可以使用。这个是免费的,不会扣费。

你需要到用户设置里面,绑定信息栏目,绑定你的信用卡信息

绑定之后,选择安装 ClearDB MySQL 。

使用 heroku addons 命令可以看到已安装的数据库。

$ heroku addons
Add-on                          Plan    Price  State
──────────────────────────────  ──────  ─────  ───────
cleardb (cleardb-closed-91123)  ignite  free   created└─ as CLEARDB_DATABASE
The table above shows add-ons and the attachments to the current app (lirenmi) or other apps.

8、获取数据库连接信息

使用 heroku config 命令可以获取 MySQL 数据库的连接 URL

$ heroku config
=== lirenmi Config Vars
CLEARDB_DATABASE_URL: mysql://b7ce049873150c:bf8f5b9a@us-cdbr-iron-east-05.cleardb.net/heroku_ea61f7c1c8e72d6?reconnect=true

获取MySQL数据库的连接用户名和密码:

从项目主页,找到已安装的 ClearDB MySQL数据库

点击进入数据库信息页面。

选择 System Information 找到连接数据库的用户名和密码

9、本地连接数据库,初始化信息

我使用了Navicat工具连接数据库,这里需要注意的是主机名或IP地址,选择数据库URL的一部分 us-cdbr-iron-east-05.cleardb.net

CLEARDB_DATABASE_URL: mysql://b7ce049873150c:bf8f5b9a@us-cdbr-iron-east-05.cleardb.net/heroku_ea61f7c1c8e72d6?reconnect=true

连接成功之后,可以创建数据库和初始化用户信息。

10、修改本地项目的数据库连接配置

修改本地项目的数据库连接配置

11、增加Procfile配置文件

在项目根目录增加 Procfile 配置文件,配置内容如下:

web java -Dserver.port=$PORT $JAVA_OPTS -jar target/blog-0.0.1-SNAPSHOT.jar

12、编译和打包本地项目

项目根目录下执行:

$ mvn package -Dmaven.test.skip=true

获取

$ mvn clean install

13、再发布和提交到Heroku

项目根目录依次执行:

$ git init
$ git add .
$ git commit -m "released commit"
$ git push heroku master

现在程序已经配属到 Heroku 上了

14、打开项目访问主页

执行下面的命令,会在浏览器打开项目主页,我的项目主页地址为:https://lirenmi.herokuapp.com/

$ heroku open

15、跟踪日志

可以在本地查看 Heroku 的运行日志,执行以下命令:

$ heroku logs --tail

16、如果想更改Heroku上项目的名称可以使用以下方法

二.在终端iterm修改heroku app的名称
方法1:进入对应app的专案,修改app名称
1.打开终端,登录heroku,切换到要修该的app下
2.执行heroku apps:rename xxx (xxx是你的app的新名称)
3.更新remote,
执行git remote rm heroku
执行heroku git:remote -a xxx

参考链接:

https://devcenter.heroku.com/articles/getting-started-with-java#introduction

http://selimsalihovic.github.io/2016-02-07-using-mysql-on-heroku/

http://xyy601-blog.logdown.com/posts/1387963-the-basics-how-to-rename-your-heroku-app-name

https://docs.spring.io/spring-boot/docs/1.5.8.RELEASE/reference/htmlsingle/#cloud-deployment-heroku

参考项目:https://github.com/britter/spring-boot-heroku-demo

转载于:https://blog.51cto.com/lirenmi/2043344

Spring Boot项目部署到Heroku相关推荐

  1. 多个Spring Boot项目部署在一个Tomcat容器无法启动

    Tomxin7 Simple, Interesting | 简单,有趣 本文将花费您五分钟时间 业务介绍 最近用Spring Boot开发了一个翻译的小项目,但是服务器上还跑着其他项目,包括一个同样用 ...

  2. 【java】四步法:spring boot项目部署在CentOS 8(后端篇)

    四步法:spring boot项目部署在CentOS 8(后端篇) 一.使用IDEA打包项目为jar包(构建) 1. IDEA版本 2. maven版本 3. pom.xml 设置 4. 构建jar包 ...

  3. java servlet 部署到tomcat_如何把spring boot项目部署到tomcat容器中

    把spring-boot项目按照平常的web项目一样发布到tomcat容器下 一.修改打包形式 在pom.xml里设置 war 二.移除嵌入式tomcat插件 在pom.xml里找到spring-bo ...

  4. Spring Boot项目部署服务器 本地正常 远程无法访问问题排错

    Spring boot项目部署linux 服务器本地正常 远程无法访问 问题描述 排错 原因 最后 最近买个云主机学大佬部署项目..然后直接炸裂了... 问题描述 本地保证代码没问题的情况下( jav ...

  5. Spring Boot项目部署到Docker的流程及一些容易踩的坑

    Spring Boot项目部署到Docker的流程及一些容易踩的坑 前期准备 准备Spring Boot项目 编写简单的控制类,方便测试 编写日志打印相关 测试项目是否能正常工作 准备部署到docke ...

  6. 腾讯云服务器 - 将 Spring Boot 项目部署到云服务器上(保姆级教程)

    目录 前言 1.在云服务器上安装 jdk 2.在云服务器上安装 mysql 2.1.安装 mysql 2.2.启动 mysql 服务 2.3.验证 3.将 Spring Boot 项目打包成 jar ...

  7. spring boot项目 部署 使用Procrun 注册为windows服务。

    1.下载Procrun 下载链接:https://downloads.apache.org/commons/daemon/binaries/windows/ 2.新建部署目录workSpace 3.添 ...

  8. 【Linux部署】Spring Boot 项目部署在Linux环境下的Docker容器内举例【任务调度系统 xxl-job 任务调度中心】(手动版)

    1.将SpringBoot项目打jar包 这里打包的是xxl-job任务调度系统的调度器. 2.编写Dockerfile FROM java:8 VOLUME /tmp ADD xxl-job-adm ...

  9. Spring Boot 项目部署方案 /打包 + Shell 脚本部署详解,稳的一批

    本篇和大家分享的是 Spring Boot 打包并结合 Shell 脚本命令部署,重点在分享一个shell 程序启动工具,希望能便利工作: profiles指定不同环境的配置 maven-assemb ...

最新文章

  1. Debian刊行版3晋级到4
  2. 易企cms文章引用地址写法
  3. 射频篇(二) 模拟、射频器件学习(2) ——功分器(Power divider)
  4. (12)调用门阶段测试
  5. Java的Arrays.sort()良心总结
  6. springboot如何使用log4j记录日志
  7. Jupter 在windows下的运行
  8. electron 解压zip_node.js实现简单的压缩/解压缩功能示例
  9. 关于css的一切(updating...)
  10. requests库post方法如何传json类型的data
  11. 如何使用cURL一次测量请求和响应时间?
  12. 错误 -source 1.6 中不支持 diamond 运算符的解决办法(已解决)
  13. 百度地图标点点击变色_原神wiki地图工具,原神全地图资源标记全览
  14. twrp gui/actions.cpp 中的功能实现 tw_action ,tw_action_param ,第二章
  15. 【unity插件】Post Process 后期效果 画面特效 颜色替换
  16. python语言程序设计实践教程答案实验五_Python程序设计实验五
  17. php表单美化,使用css美化html表单控件详细示例(表单美化)_HTML/Xhtml_网页制作
  18. c语言中stdio什么意思6,求助,return,stdio是什么意思,在C语言中又是什么意思
  19. Perl读取文件信息
  20. SPSS(七)非线性回归过程

热门文章

  1. Azure Arc 正式商用、Power Platform+GitHub 世纪牵手,一文看懂 Ignite 2020
  2. ISA2006实战系列之三:防火墙策略部署深度分析(附图)
  3. jQuery Validate
  4. DRBD数据同步部署-centos7
  5. java Random.nextInt()方法
  6. Thinkpad W520 完美安装Ubuntu14.04LTS
  7. markdown错误和问题
  8. 《Java工程师修炼之道》内容概览
  9. linux之文件的高级命令
  10. 安装Phoenix时./sqlline.py执行报错File ./sqlline.py, line 27, in module import argparse ImportError: No ...