Spring Boot项目部署到Heroku
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相关推荐
- 多个Spring Boot项目部署在一个Tomcat容器无法启动
Tomxin7 Simple, Interesting | 简单,有趣 本文将花费您五分钟时间 业务介绍 最近用Spring Boot开发了一个翻译的小项目,但是服务器上还跑着其他项目,包括一个同样用 ...
- 【java】四步法:spring boot项目部署在CentOS 8(后端篇)
四步法:spring boot项目部署在CentOS 8(后端篇) 一.使用IDEA打包项目为jar包(构建) 1. IDEA版本 2. maven版本 3. pom.xml 设置 4. 构建jar包 ...
- java servlet 部署到tomcat_如何把spring boot项目部署到tomcat容器中
把spring-boot项目按照平常的web项目一样发布到tomcat容器下 一.修改打包形式 在pom.xml里设置 war 二.移除嵌入式tomcat插件 在pom.xml里找到spring-bo ...
- Spring Boot项目部署服务器 本地正常 远程无法访问问题排错
Spring boot项目部署linux 服务器本地正常 远程无法访问 问题描述 排错 原因 最后 最近买个云主机学大佬部署项目..然后直接炸裂了... 问题描述 本地保证代码没问题的情况下( jav ...
- Spring Boot项目部署到Docker的流程及一些容易踩的坑
Spring Boot项目部署到Docker的流程及一些容易踩的坑 前期准备 准备Spring Boot项目 编写简单的控制类,方便测试 编写日志打印相关 测试项目是否能正常工作 准备部署到docke ...
- 腾讯云服务器 - 将 Spring Boot 项目部署到云服务器上(保姆级教程)
目录 前言 1.在云服务器上安装 jdk 2.在云服务器上安装 mysql 2.1.安装 mysql 2.2.启动 mysql 服务 2.3.验证 3.将 Spring Boot 项目打包成 jar ...
- spring boot项目 部署 使用Procrun 注册为windows服务。
1.下载Procrun 下载链接:https://downloads.apache.org/commons/daemon/binaries/windows/ 2.新建部署目录workSpace 3.添 ...
- 【Linux部署】Spring Boot 项目部署在Linux环境下的Docker容器内举例【任务调度系统 xxl-job 任务调度中心】(手动版)
1.将SpringBoot项目打jar包 这里打包的是xxl-job任务调度系统的调度器. 2.编写Dockerfile FROM java:8 VOLUME /tmp ADD xxl-job-adm ...
- Spring Boot 项目部署方案 /打包 + Shell 脚本部署详解,稳的一批
本篇和大家分享的是 Spring Boot 打包并结合 Shell 脚本命令部署,重点在分享一个shell 程序启动工具,希望能便利工作: profiles指定不同环境的配置 maven-assemb ...
最新文章
- Debian刊行版3晋级到4
- 易企cms文章引用地址写法
- 射频篇(二) 模拟、射频器件学习(2) ——功分器(Power divider)
- (12)调用门阶段测试
- Java的Arrays.sort()良心总结
- springboot如何使用log4j记录日志
- Jupter 在windows下的运行
- electron 解压zip_node.js实现简单的压缩/解压缩功能示例
- 关于css的一切(updating...)
- requests库post方法如何传json类型的data
- 如何使用cURL一次测量请求和响应时间?
- 错误 -source 1.6 中不支持 diamond 运算符的解决办法(已解决)
- 百度地图标点点击变色_原神wiki地图工具,原神全地图资源标记全览
- twrp gui/actions.cpp 中的功能实现 tw_action ,tw_action_param ,第二章
- 【unity插件】Post Process 后期效果 画面特效 颜色替换
- python语言程序设计实践教程答案实验五_Python程序设计实验五
- php表单美化,使用css美化html表单控件详细示例(表单美化)_HTML/Xhtml_网页制作
- c语言中stdio什么意思6,求助,return,stdio是什么意思,在C语言中又是什么意思
- Perl读取文件信息
- SPSS(七)非线性回归过程
热门文章
- Azure Arc 正式商用、Power Platform+GitHub 世纪牵手,一文看懂 Ignite 2020
- ISA2006实战系列之三:防火墙策略部署深度分析(附图)
- jQuery Validate
- DRBD数据同步部署-centos7
- java Random.nextInt()方法
- Thinkpad W520 完美安装Ubuntu14.04LTS
- markdown错误和问题
- 《Java工程师修炼之道》内容概览
- linux之文件的高级命令
- 安装Phoenix时./sqlline.py执行报错File ./sqlline.py, line 27, in module import argparse ImportError: No ...