Linux 一键拉取代码打包部署springboot项目

26 篇文章 1 订阅
21 篇文章 0 订阅

一键拉取代码打包部署springboot项目

1.环境部署

安装maven

# 下载maven
wget https://downloads.apache.org/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
# 解压
tar -zxf apache-maven-3.6.3-bin.tar.gz -C /usr/local
# 修改配置
vim /usr/local/apache-maven-3.6.3/conf/settings.xml
<!-- 在mirrors中配置一个阿里的mirror -->
<mirrors>
    <mirror>
        <id>nexus</id>
        <mirrorOf>*</mirrorOf>
        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    </mirror>
</mirrors>

<!-- 配置阿里仓库 -->
<profiles>
    <profile>
        <id>ali</id>
        <repositories>
            <repository>
                <id>nexus></id>
                <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
                <releases>
                    <enabled>true</enabled>
                    <updatePolicy>always</updatePolicy>
                    <checksumPolicy>warn</checksumPolicy>
                </releases>
                <snapshots>
                    <enabled>true</enabled>
                    <updatePolicy>never</updatePolicy>
                    <checksumPolicy>fail</checksumPolicy>
                </snapshots>
            </repository>
        </repositories>
        <pluginRepositories>
            <pluginRepository>
                <id>nexus</id>
                <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
                <releases>
                    <enabled>true</enabled>
                    <checksumPolicy>warn</checksumPolicy>
                </releases>
                <snapshots>
                    <enabled>true</enabled>
                    <checksumPolicy>fail</checksumPolicy>
                </snapshots>
            </pluginRepository>
        </pluginRepositories>
    </profile>
</profiles>

<!-- 激活阿里仓库配置 -->
<activeProfiles>
    <activeProfile>ali</activeProfile>
</activeProfiles>

将maven 加入环境变量中

vim /etc/profile
#添加的内容 ,路径记得修改为自己解压的路径位置
export MAVEN_HOME=/usr/local/apache-maven-3.6.3
export PATH=${MAVEN_HOME}/bin:$PATH
# 刷新系统环境变量生效
source /etc/profile
# 查看Maven版本
mvn -v
# 如果查看版本出现错误,没有错误的不需要执行
-bash: /usr/local/maven/bin/mvn: Permission denied
# 文件没有权限,需要设置文件权限
chmod a+x /usr/local/apache-maven-3.6.3/bin/mvn

安装Git

# 安装git,然后一直回车就行
yum install git
# 初始化ssh公钥
ssh-keygen -t rsa -C "邮箱地址"
# 查看公钥,复制放到git上配置
cd /root/.ssh
cat id_rsa.pub

编写shell脚本

vim package.sh
#!/bin/sh
#项目的git地址
git_path=""
#本地代码位置代码路径
code_path=""
#项目名称
projectName=""
# jar包地址
jar_path=""
# 当前日期
currentdate=$(date +%Y年%m月%d日)
env="master"
#如果项目文件夹不存在说明没有下载过改项目代码,需要检出该项目
if [ ! -d ${code_path}/${projectName} ];
  then
echo ${projectName}"不存在,检出该项目"
cd $code_path
git clone ${git_path}
  else
echo ${projectName} "项目存在,更新代码"
cd ${code_path}/${projectName}
git reset --hard
git pull
fi
#删除项目
echo "删除项目下target"
rm -rf "${code_path}/${projectName}/${projectName}/target"
#maven 再打项目包
echo "maven打包${projectName}"
cd ${code_path}/${projectName}
mvn install -Dmaven.test.skip=true -Denv=$env -U
#如果打包出错直接退出
if [ $? -ne 0 ]; then
      exit 1
fi
#关闭jar服务
echo "关闭jar服务"
#查询jar包服务进程ID,并杀掉该进程
pidList=$(ps aux | grep $projectName | grep -v grep | awk '{print $2}')
for pid in $pidList
do
kill -9 $pid
echo 'kill pid '$pid
done

echo "删除${projectName}.jar和${projectName}.log文件"
cd ${code_path}
rm -rf "${projectName}.jar"
rm -rf "${projectName}.log"
echo "复制打包的jar包"
if [ ! -d ${jar_path} ];then
  mkdir -p ${jar_path}
else
  if [ ! -f ${jar_path}/${projectName}.jar ];then
    echo "文件不存在"
  else
    mv ${jar_path}/${projectName}.jar ${jar_path}/${projectName}.jar.${currentdate}
  fi
fi
cp -rf  ${code_path}/${projectName}/target/${projectName}.jar ${jar_path}/

执行脚本文件

sh package.sh
Linux系统上打包部署springboot+vue项目的步骤如下: 1. 首先,你需要拉取git仓库的代码。复制git仓库的地址,并在Linux系统中使用命令拉取代码。\[1\] 2. 接下来,你需要打包Java项目。进入项目的目录,执行打包命令,生成一个jar包。你可以使用命令`java -jar springboot-affair-0.0.1-SNAPSHOT.jar`来运行打包好的Java项目。\[3\] 3. 然后,你需要部署前端vue项目。同样进入项目的目录,执行打包命令,生成前端的静态文件。将生成的静态文件部署到Nginx服务器上。 4. 在部署之前,确保Nginx、MySQL、Redis和MinIO已经启动。你可以使用相应的命令来启动这些服务。 5. 最后,访问你的项目。通过浏览器访问Nginx服务器的地址,即可查看部署好的springboot+vue项目。 总结起来,你需要拉取代码打包Java项目部署前端项目,启动Nginx、MySQL、Redis和MinIO,然后访问项目即可。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *3* [Linux——在Linux系统上打包部署springboot+vue项目,nginx+mysql+redis+minio](https://blog.csdn.net/weixin_56039103/article/details/126173205)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [使用docker部署springboot+vue项目](https://blog.csdn.net/Ruhoney908/article/details/131024801)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LOVE_DDZ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值