Python工程师Java之路(t)使用Shell脚本部署SpringBoot

这篇具有很好参考价值的文章主要介绍了Python工程师Java之路(t)使用Shell脚本部署SpringBoot。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、概述

  1. 代码从开发环境上传到Git仓库
  2. 服务器从Git仓库拉取代码
  3. 在服务器上进行编译、打包、重启

2、在服务器上安装Maven

2.1、下载

wget https://archive.apache.org/dist/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz

2.2、解压

tar -zxf apache-maven-3.5.4-bin.tar.gz
mv apache-maven-3.5.4 /opt/module/
/opt/module/apache-maven-3.5.4/bin/mvn -version

2.3、修改配置

vim /opt/module/apache-maven-3.5.4/conf/settings.xml
<!-- 本地仓库存放路径 -->
<localRepository>/opt/module/mavenRepository</localRepository>
<!-- 配置国内镜像,使下载更快 -->
<mirror>
    <id>nexus-aliyun</id>
    <mirrorOf>central</mirrorOf>
    <name>Nexus aliyun</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

2、在服务器上安装Git

2.1、安装git

yum install -y git

2.2、创建仓库地址的目录

mkdir /opt/module/git_repository
chown -R hjw:hjw /opt/module/git_repository

2.3、创建代码仓库(名为hello

git init --bare /opt/module/git_repository/hello

2.4、免密配置

https://blog.csdn.net/Yellow_python/article/details/127570500

3、Shell脚本

cd /opt/module/projects
touch SpringBootRestart.sh
chmod 777 SpringBootRestart.sh
vim SpringBootRestart.sh
#!/bin/sh

# artifactId
ARTIFACT=hello
# 版本
VERSION=-0.0.1-SNAPSHOT
# Maven路径
MVN=/opt/module/apache-maven-3.5.4/bin/mvn
# 代码位置
LOC=/opt/module/projects/$ARTIFACT
# jar名
JAR=${ARTIFACT}${VERSION}.jar

pid=`ps -ef|grep ${JAR}|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${pid} ]; then
    echo '停止进程'
    kill -15 $pid
fi
sleep 3
pid=`ps -ef|grep ${JAR}|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${pid} ]; then
    echo '杀进程'
    kill -9 $pid
else
    echo '停止进程成功'
fi

echo '从Git仓库拉取最新代码'
cd $LOC
git pull

echo '打包'
output=`$MVN clean package -Dmaven.test.skip=true`

echo '启动项目'
cd target
nohup java -jar ${JAR} &> ${ARTIFACT}.log &

# 查看进程状态
sleep 2
echo `ps -ef|grep ${JAR}|grep -v grep`

4、SpringBoot部署测试

4.1、使用IDEA创建工程(下面2种方法)

方法1:先创建SpringBoot工程,再去关联Git仓库
Python工程师Java之路(t)使用Shell脚本部署SpringBoot
Python工程师Java之路(t)使用Shell脚本部署SpringBoot

方法2:直接创建关联Git仓库的工程
Python工程师Java之路(t)使用Shell脚本部署SpringBoot

4.2、服务器从仓库下载代码

mkdir -p /opt/module/projects
cd /opt/module/projects
git clone 用户名@主机地址:/opt/module/git_repository/hello

4.3、执行脚本

/opt/module/projects/SpringBootRestart.sh

Python工程师Java之路(t)使用Shell脚本部署SpringBoot文章来源地址https://www.toymoban.com/news/detail-402823.html

到了这里,关于Python工程师Java之路(t)使用Shell脚本部署SpringBoot的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 后端工程师晋升之路

    入门 0.5 年 第 1 计:不要过于纠结方向选择问题。 开始入门的时候,我们可能都会纠结于选择前端还是后端,选择了后端还犹豫到底选 Java、Go 还是 Python。 其实,我觉得不用过于纠结。如果说你对偏前端的内容感兴趣,那就从前端入手;对数据库方面的内容感兴趣,那就从

    2024年02月10日
    浏览(44)
  • 硬件工程师成长之路(0)----认识元件

    系列文章目录 1.元件基础 2.电路设计 3.PCB设计 4.元件焊接 5.板子调试 6.程序设计 7.算法学习 8.编写exe 9.检测标准 10.项目举例 11.职业规划 送给大学毕业后找不到奋斗方向的你(每周不定时更新) 中国计算机技术职业资格网 上海市工程系列计算机专业中级专业技术职务任职资

    2024年02月03日
    浏览(54)
  • 硬件工程师成长之路(11)——职业规划

    系列文章目录 1.元件基础 2.电路设计 3.PCB设计 4.元件焊接 5.板子调试 6.程序设计 7.算法学习 8.编写exe 9.检测标准 10.项目举例 11.职业规划 送给大学毕业后找不到奋斗方向的你(每周不定时更新) 【牛客网】构建从学习到职业的良性生态圈 中国计算机技术职业资格网 上海市工

    2024年02月17日
    浏览(58)
  • Unity中级客户端开发工程师的进阶之路

    上期 UWA技能成长系统 之《Unity高级客户端开发工程师的进阶之路》得到了很多Unity开发者的肯定。通过系统的学习,可以掌握游戏性能瓶颈定位的方法和常见的CPU、GPU、内存相关的性能优化方法。 UWA技能成长系统是UWA根据学员的职业发展目标,提供技能学习的推荐路径,再将

    2024年02月12日
    浏览(51)
  • 年薪40W测试工程师成长之路,你在哪个阶段?

    对任何职业而言,薪资始终都会是众多追求的重要部分。前几年的软件测试行业还是一个风口,随着不断地转行人员以及毕业的大学生疯狂地涌入软件测试行业,目前软件测试行业“缺口”已经基本饱和。当然,我说的是最基础的功能测试的岗位需求已经很少了,而自动化、

    2023年04月21日
    浏览(58)
  • 2023年软件测试工程师,初级到高级进阶路线指南,测试之路...

    提到软件测试工程师时,很多人依然会联想到那些“点点点”并企图在“点点点”中找到缺陷的人,也就是大家常说的依照测试规范和测试案例来对软件进行测试,检查软件是不是有缺陷,判断软件是不是稳定。但这其实是一个很不好的观点。 近年来,随着各大互联网企业的

    2024年02月09日
    浏览(62)
  • 【百草阁送书-第二期】一名阿里服务端开发工程师的进阶之路

    一、前言 二、AI 时代,服务端开发面临新挑战 三、服务端开发会被 AI 取代吗? 四、知识体系化,构建核心竞争力 五、业界首本体系化、全景式解读服务端开发的著作 六、参与抽奖方式 目前,资讯、社交、游戏、消费、出行等丰富多彩的互联网应用已经渗透到了人们生活和

    2024年02月11日
    浏览(37)
  • 从服务员到高级测试工程师,我的坎坷之路谁又能懂

      首先要感谢那些嘲讽我代码写的烂的人,五年开发经验嘲笑刚出校门踏入社会的我,让我放弃了开发工作,走向测试的康庄大道。此外,曾经的开发经验对我测试工作的帮助是无与伦比的。数据库,编程语言,liunx,环境部署维护,程序打包,参与代码走查,专项测试,性

    2023年04月27日
    浏览(45)
  • 小白到运维工程师自学之路 第六十六集 (docker 网络模型)

    Docker网络模型是指Docker容器在网络中的通信方式和组织结构。Docker容器通过网络连接,使得容器之间可以相互通信,并与主机和外部网络进行交互。 在Docker中,有几种不同的网络模型可供选择: 1、主机模式(Host mode):容器与主机共享网络命名空间,容器中的网络直接映射

    2024年02月14日
    浏览(46)
  • 小白到运维工程师自学之路 第四十六集 (mongodb复制集)

           1、 MongoDB复制集(MongoDB Replica Set)是MongoDB提供的一种高可用性和数据冗余的解决方案。它由多个MongoDB实例组成,其中一个作为主节点(Primary),其他节点则扮演从节点(Secondary)的角色。主节点处理所有的写操作和客户端请求,而从节点负责复制主节点的数据并

    2024年02月13日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包