搭一个自动部署的环境

本文针对传统Java项目上线的半自动方式存在打包时间长、易出错等缺点,提出搭建自动部署环境实现全自动部署。详细介绍了虚拟机上网设置、Git和Maven安装、代码下载、生成war包、放入tomcat等步骤,最后还提及可写脚本进行自动部署。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

主要想解决的问题:有一种传统的java项目上线的方式:代码测试好了,上线流程是:项目经理在本地用mvn install打war包,然后丢给运维人员进行部署上线。这样半自动的做法缺点是:1.打包时间长,如果是个分布式大型系统都的手动install。3.要保证本地代码都是此次上线内容,一个解决办法是准备一套上线专用环境。3.出错概率大:如果一个系统有好几台服务的话,运维人员每个都得手动做,耗时长,也容易忘记哪台忘上(我们就有时会遇到这问题,一旦出现问题还特难定位)。而且这是一个重复造轮子的过程,繁琐又枯燥。所以我想弄一个能够自动部署的环境,实现全自动部署。java和tomcat在linux上的配置之前已完成,也可以参考这篇https://blog.youkuaiyun.com/shidebin/article/details/83548436进行配置
1. 先看虚拟机是否可以上网:

ping www.baidu.com

不通说明不能上网
2. 解决不能上网
https://blog.youkuaiyun.com/hy9418/article/details/79382141

vim /etc/sysconfig/network-scripts/ifcfg-ens33

DDR=6C:0B:84:A6:40:C4
#UUID=f1e1c1a0-571b-4f95-a921-5b130691b3c8
DEVICE=eth0
TYPE=Ethernet
BRIDGE=br0
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.126.135
PREFIX=24
GATEWAY=192.168.2.1
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
DNS1=223.5.5.5

需要修改的地方IPADDR,GATEWAY,DNS1:
IPADDR你给本机固定的ip地址,可以自己写
GATEWAY,DNS1需要跟windows的相同:
进入docs窗口:
ipconfig /all
在这里插入图片描述
找到默认网关和DNS服务器,相应的配置上去,然后重启。

systemctl restart network

3. Git的安装
3.1 查看git是否已经安装:git –version
3.2 若没有安装则安装:yum -y install git
4. maven的安装:
4.1在maven官网下相应的linux版本的安装包.
4.2把刚才下载安装包上传到resource目录下并解压

cd /usr/local/resource

rz
mkdir ../maven
tar -zxvf apache-maven-3.6.1-bin.tar.gz -C ../maven

4.3配置maven环境

vim /etc/profile

#maven home
export MAVEN_HOME=/usr/local/maven/apache-maven-3.6.1
export PATH= P A T H : PATH: PATH:MAVEN_HOME/bin
4.4使刚才配的环境生效

source /etc/profile

4.5 查看maven是否安装成功:mvn –v
在这里插入图片描述
5.下载代码:

cd /usr/local/src
git clone -b dev-1.8 http://192.168.*.*/web-wesign/zqsign-web-wesign.git

6.maven下载相关jar包到本地并生成war包:

cd zqsign-web-wesign
mvn install

报错:
在这里插入图片描述
解决:修改maven的setting.xml文件,加入以下镜像

<mirror>
      <id>alimaven</id>
      <mirrorOf>central</mirrorOf>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    </mirror>
    <mirror>
      <id>nexus-releases</id>
      <mirrorOf>*</mirrorOf>
      <name>Nexus Release Repository</name>
      <url>http://192.168.*.*:8081/nexus/content/groups/public/</url>
    </mirror>

一个是阿里的镜像,一个是公司私服镜像,如果公司没有私服则不用加。再次运行install成功。
注意一个问题:
在这里插入图片描述
这个问题在网上有很多的解决方法,但都没解决我的问题,并且困扰了我很久,最后发现是私服上的jar包没有,从私服下不到造成的。在此记录一下。
7.把war放入tomcat中
7.1 删除之前tomcat中之前的程序
rm -rf /usr/local/tomcat/apache-tomcat-8.5.34/webapps/ROOT/*
7.2把war包解压到ROOT目录下
unzip qsign-web-wesign-1.8.0.war -d /usr/local/tomcat/apache-tomcat-8.5.34/webapps/ROOT/
然后启动tomcat就可以了。
8.环境搭完之后就可以写一个脚本进行以后自动部署的工作了。
8.1.创建脚本

vim bootstrap.sh

8.2脚本内容

cd /usr/local/src/zqsign-web-wesign
#下最新的代码
git pull
#用maven打包
mvn install
#删除tomcat中之前的代码
rm -rf /usr/local/tomcat/apache-tomcatzqsign-web-wesign-8.5.34/webapps/ROOT/*
#把新war包解压到ROOT下
unzip zqsign-web-wesign-1.8.0.war -d /usr/local/tomcat/apache-tomcat-8.5.34/webapps/ROOT/
#重启tomcat
cd /usr/local/tomcat/apache-tomcat-8.5.34/bin
./startup.sh | tail -f ../logs/catalina.out

8.3修改权限:

 chmod 775 bootstrap.sh 

自测可以运行,此文仅记录自己的所想,有不当之处欢迎提出。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值