一键部署脚本-linux

本文分享了一个用于个人项目的自动化部署脚本,详细步骤包括从码云拉取代码,前端Vue打包,后端Java项目打包成jar并后台运行。在编写脚本过程中遇到了npm打包慢、maven下载慢及测试跳过等问题,解决方案分别是设置npm国内镜像,配置maven阿里云仓库及在pom.xml中添加skipTests属性跳过测试。通过此脚本,实现了跨设备便捷部署。
摘要由CSDN通过智能技术生成

一键部署脚本-linux

做个人项目的时候,有时候开发和部署可能不在一台电脑,,为了方便所以编辑了该脚本。该脚本功能主要是从码云上拉取代码,然后前端vue打包,将打包后内容放置到后端代码中后,再打包成jar包形式,最后再运行即可。编辑使用脚本的时候遇到了几个坑,这个在最后进行介绍,现在上脚本:

#!/bin/bash 
echo =====================
echo     自动化部署开始
echo =====================

echo =====================
echo 执行过程一:拉取最新代码
echo =====================
echo git clone https://gitee.com/wyt_zyc/wyt01homepage.git
git clone https://gitee.com/wyt_zyc/wyt01homepage.git

echo =====================
echo 执行过程二:前端打包、删除已有前端包、移动最新包
echo =====================
echo cd wyt01homepage/wyt01homepage-ft
cd wyt01homepage/wyt01homepage-ft
echo npm install
npm install
echo npm run build
npm run build
echo rm -rf ../wyt01homepage-bk/src/main/resources/templates/*
rm -rf ../wyt01homepage-bk/src/main/resources/templates/*
echo rm -rf ../wyt01homepage-bk/src/main/resources/static/*
rm -rf ../wyt01homepage-bk/src/main/resources/static/*
echo mv ./dist/index.html ../wyt01homepage-bk/src/main/resources/templates/
mv ./dist/index.html ../wyt01homepage-bk/src/main/resources/templates/
echo mv ./dist/* ../wyt01homepage-bk/src/main/resources/static/
mv ./dist/* ../wyt01homepage-bk/src/main/resources/static/

echo =====================
echo 执行过程三:后端打包、移动成果物、删除代码
echo =====================
echo cd ../wyt01homepage-bk/
cd ../wyt01homepage-bk/
echo mvn clean package
mvn clean package
echo mv ./target/wyt01homepage.jar ../../
mv ./target/wyt01homepage.jar ../../
echo cd ../../
cd ../../
echo rm -rf wyt01homepage/
rm -rf wyt01homepage/

nohup java -jar wyt01homepage.jar --server.port=17001 > /dev/null 2>&1 &
echo =====================
echo     自动化部署结束 
echo =====================

上面便是完整的部署脚本,其中为了显示脚本执行的具体情况,所以使用了较多的echo显示要执行的脚本。最后的jar包则是以后台运行的方式启动,其它的启动情况可以参考我的上一篇文章:https://blog.csdn.net/Interest1_wyt/article/details/112644608

下面介绍遇到的三个问题:

问题1:前端npm打包总是失败

这是没有配置npm仓库的原因,默认的仓库好像不是国内的,所以下载速度比较慢。可以通过 npm config set registry https://registry.npm.taobao.org/

问题2:maven打包下载太慢或者下载不下来

这是没有配置maven远程仓库的原因,默认的仓库与npm类似,好像也不是国内的。我修改的时候是进入maven的conf目录,然后在mirrors模块配置上阿里云的仓库

<mirrors>
    <mirror>
      <id>ali maven</id>
      <mirrorOf>central</mirrorOf>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    </mirror>
  </mirrors>

问题3:maven打包的时候会有一个测试流程,测试报错又依赖另外的包,因为本地运行正常,所以这块可以直接跳过。跳过的方式比较多,有兴趣的可以上网搜搜,这里展示我用的一种方式。

在pom.xml文件的properties添加跳过测试声明,详情如下:

<properties>
        <skipTests>true</skipTests>
</properties>

最后如果有错误和待改进的地方,欢迎各位大佬留言!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值