文档章节

spring-boot在centos上部署

 周旭辰
发布于 2017/05/03 00:53
字数 601
阅读 206
收藏 0

原始的war包上传因为有第三方库,上传非常慢,所以采取新的方案,使用git先拉项目,再用maven打包项目,这样由于本地maven缓存的存在,不需要从服务器下载第三方库的jar包了,并且由于git的局部更新,所以每次同步代码非常快。缺陷是开发环境和线上环境不同,打包可能会失败,所以要求开发人员熟悉线上环境,每次提交代码需要仔细检查。

1. 从git拉取项目

需要注意分支的管理,因为我默认用master分支作为发布版本,所以直接运行以下命令即可

  • 第一次运行,使用clone语句初始化
git clone http://git.reminding.cn:xx/group-xx/xx-demo.git
  • 非第一次运行,使用pull语句更新源码
git pull http://git.reminding.cn:xx/group-xx/xx-demo.git

2. maven编译项目

  • 在源码根目录下,使用maven编译打包项目
mvn clean package

3. 配置centos服务

  • 创建service文件,ddns为服务器的名称
vim /etc/systemd/system/ddns.service
  • 插入以下内容,注意修改成自己环境的值,重要的值就两个,/usr/bin/java是java所在路径,使用whereis java即可找到,/devops/ddns/target/ddns.jar就是前一步maven打包的jar包路径。
[Unit]
Description=ddns service
After=syslog.target
[Service]
ExecStart=/usr/bin/java -jar /devops/ddns/target/ddns.jar
SuccessExitStatus=143
[Install]
WantedBy=multi-user.target

4. 启动服务

  • 先刷新以下服务
systemctl daemon-reload
  • 再启动服务
systemctl start ddns.service

5. 疑难解决

  • 运行命令systemctl status ddns.service 查看服务启动失败,提示”没有主清单属性”。 第一反应是缺少MANIFEST.MF文件,但是一看jar包大小才几十k,缺少第三方库,说明打包错误。 检查了pom的parent设置了spring-boot-starter-parent,所以,只需要在pom.xml文件中,添加如下插件即可:
<plugin>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-maven-plugin</artifactId>
</plugin>

If you use the Spring Boot starter parent pom, you only need to add the plugin, there is no need for to configure it unless you want to change the settings defined in the parent.【查看原文】

6.半自动化部署脚本

  • 创建脚本
vim /devops/ddns.sh
  • 插入以下内容,注意修改成自己环境的值,ddns为项目名
cd /devops/ddns/;
git pull;
systemctl stop ddns;
mvn clean package;
systemctl start ddns;
cd /devops;
  • 远程代码更新后,只要执行以下命令,即可自动部署最新版本代码。
sh /devops/ddns.sh

© 著作权归作者所有

粉丝 0
博文 14
码字总数 10511
作品 0
深圳
技术主管
私信 提问
spring-boot-plus V1.2.3 发布,新增 CentOS 相关脚本

[V1.2.3-RELEASE] 2019.09.09 :computer: spring-boot-plusV1.2.3发布,CentOS快速安装环境/构建/部署/启动项目 :star:️ New Features 项目运行环境安装脚本 CentOS快速构建/部署/启动项目脚...

geekidea
09/09
2.8K
5
快速使用 Docker 部署 Spring Boot 项目

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 https://blog.csdn.net/GitChat/article/details/96216242 如今 Docker 的使用已经非常普遍,...

GitChat技术杂谈
07/17
0
0
Spring Cloud云服务架构 - commonservice-eureka 项目过程构建

我们针对于HongHu cloud的eureka项目做以下构建,整个构建的过程很简单,我会将每一步都构建过程记录下来,希望可以帮助到大家: 1. 创建一个名为particle-common-eureka的maven项目,继承p...

明理萝
2018/06/12
24
1
(五)spring cloud微服务架构b2b2c电子商务 - commonservice-eureka 项目构建过程

我们针对于HongHu cloud的eureka项目做以下构建,整个构建的过程很简单,我会将每一步都构建过程记录下来,希望可以帮助到大家: 创建一个名为particle-common-eureka的maven项目,继承parti...

it菲菲
05/23
0
0
(八)整合spring cloud云服务架构 - commonservice-eureka 项目构建过程

我们针对于HongHu cloud的eureka项目做以下构建,整个构建的过程很简单,我会将每一步都构建过程记录下来,希望可以帮助到大家: 1. 创建一个名为particle-common-eureka的maven项目,继承p...

itcloud
2018/11/23
18
0

没有更多内容

加载失败,请刷新页面

加载更多

mysql-connector-java升级到8.0后保存时间到数据库出现了时差

在一个新项目中用到了新版的mysql jdbc 驱动 <dependency>     <groupId>mysql</groupId>     <artifactId>mysql-connector-java</artifactId>     <version>8.0.18</version> ......

ValSong
今天
5
0
Spring Boot 如何部署到 Linux 中的服务

打包完成后的 Spring Boot 程序如何部署到 Linux 上的服务? 你可以参考官方的有关部署 Spring Boot 为 Linux 服务的文档。 文档链接如下: https://docs.ossez.com/spring-boot-docs/docs/r...

honeymoose
今天
6
0
Spring Boot 2 实战:使用 Spring Boot Admin 监控你的应用

1. 前言 生产上对 Web 应用 的监控是十分必要的。我们可以近乎实时来对应用的健康、性能等其他指标进行监控来及时应对一些突发情况。避免一些故障的发生。对于 Spring Boot 应用来说我们可以...

码农小胖哥
今天
9
0
ZetCode 教程翻译计划正式启动 | ApacheCN

原文:ZetCode 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远。 ApacheCN 学习资源 贡献指南 本项目需要校对,欢迎大家提交 Pull Request。 ...

ApacheCN_飞龙
今天
5
0
CSS定位

CSS定位 relative相对定位 absolute绝对定位 fixed和sticky及zIndex relative相对定位 position特性:css position属性用于指定一个元素在文档中的定位方式。top、right、bottom、left属性则...

studywin
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部