当前位置:网站首页>自动化部署项目
自动化部署项目
2022-07-27 05:21:00 【徒醉了清风l】
目录
一、编写maven项目
首先你要在你本地创建maven项目,并进行相应的配置,这里不做详细的介绍,各种maven项目都可以
二、git的推送和克隆
1、在本地创建git仓库,将其提交到本地的仓库
2、在gitee或者腾讯云上建立代码仓库,与idea相连接,并在idea上将maven项目推送到仓库中
3、在你的服务器上,建立一个文件夹来存放克隆下来的项目,命名随意即可
4、如果你对git操作不是很熟悉的话,可以参考
https://blog.csdn.net/wuminglq/article/details/104310943
三、服务器的相关配置
1、统一maven
将服务器上的maven和你本地的maven的版本进行统一,在服务器上安装和本地相同的版本
首先下载maven的压缩包,在这个地址上选择相应版本的压缩包即可
https://maven.apache.org/download.cgi
接着将压缩包解压,使用linux命令tar -zxf 或者tar -zxvf进行解压
解压完成后,需要配置maven仓库和设置阿里镜像仓库,这里使用maven-3.6.3进行相应的展示
a、创建仓库目录
cd apache-maven-3.6.3 #进入apache-maven-3.6.3目录
mkdir ck #创建ck目录b、进入cd conf目录,编辑 vi settings.xml文件,找到·localRepository下面复制一行加上<localRepository>/usr/local/apache-maven-3.6.3/ck</localRepository>, 在找到mirror 加上阿里的仓库配置,配置完成报错退出
cd conf # 进入conf目录
vi settings.xm # settings.xm文件maven仓库的地址
<localRepository>/usr/local/apache-maven-3.6.3/ck</localRepository>设置阿里镜像仓库
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>c、配置maven环境变量,编辑:vi /etc/profile 文件,翻到最后一行加上 export MAVEN_HOME=/usr/local/apache-maven-3.6.3 export PATH=$PATH:$MAVEN_HOME/bin 保存退出
vi /etc/profileexport MAVEN_HOME=/usr/local/apache-maven-3.6.3
export PATH=$PATH:$MAVEN_HOME/bind、重新加载一下,source /etc/profile 使新增配置生效
source /etc/profilee、 到此以安装完成,测试一下,输入命令:mvn -v
mvn -v
这样就是完成安装了。
2、git安装
安装git使用yum命令即可
四、自动化shell脚本
编写脚本首先要明白要执行的顺序是什么
写一下我设计的脚本的基本思路,仅供参考,具体情况还要看你服务器相关工具的位置
1、首先进入到你在二中克隆到服务器上的项目的里面,看到pom.xml即可,在这个目录下执行git pull 命令,将服务器上的修改内容更新到服务器上,接着执行mvn clean 和mvn install命令,这两个命令第一个是清除项目里的target目录,第二命令是创建target目录,并将项目打成war包放在其中。
2、将你的服务器上的tomcat里面的webapps内的原有的和更新的项目同名的,将war包删除,将war包解压出来的项目文件移动到其他的文件夹中并对其重新命名
3、回到你克隆下来的项目的target目录下,将其中的war包复制到tomcat中的webapps目录下
4、重启tomcat
总体的shell脚本如下,进行了一定的修改,项目名称,路径等问题需要自己修改
#!/bin/bash
cd /web/automation/项目名 //这里的automation是自己建立存放项目的文件夹,名字可以自取
git pull 你的gitee仓库或者腾讯云仓库的克隆地址
mvn clean
mvn install
cd /web/apache-tomcat-8.0.9/webapps
rm -rf ssm.war
mv ssm /recycle/ssm$(date +%Y%m%d-%H%M%S) //recycle是用来存放移动的原有的项目的文件夹
cd /web/automation/项目名/target
cp ssm.war /web/apache-tomcat-8.0.9/webapps
#重启tomcat
cd /web/apache-tomcat-8.0.9/bin
./shutdwn.sh
./startup.sh边栏推荐
- Osg环境搭建(Win10+Vs2019)
- 链表回文判断
- 百问网驱动大全学习(一)LCD驱动
- Live Home 3D Pro室内家居设计工具
- Live Home 3D Pro interior home design tool
- 编程学习记录——第3课【初识C语言】
- Force buckle 160. intersecting linked list
- What tools are needed to make video post effects?
- [first song] rebirth of me in py introductory training (3): if conditional sentence
- 哈夫曼树的求法,代码实现及证明,图文解释
猜你喜欢
随机推荐
Linked list palindrome judgment
百问网驱动大全学习(二)I2C驱动
力扣题解 二叉树(5)
Greedy high performance neural network and AI chip application research and training
AE 3D粒子系统插件:Trapcode Particular
SQL novice
编程学习记录——第8课【数组与设计五子棋,扫雷游戏】
Unity 实用小技巧(更新ing)
Li Kou 236. the nearest common ancestor of binary tree
IOT operating system
C#文件的读写
arcgis style样式表文件转换成geoserver sld文件
编程学习记录——第3课【初识C语言】
一张图看懂指针
【头歌】重生之我在py入门实训中(5):列表
韦东山 数码相框 项目学习(三)freetype的移植
力扣第一周错题集
如何管理大量的定时任务
C语言-自定义结构类型
常见的SQL优化方法



![[5.20 special] MATLAB, I'm confessing to you](/img/ce/ea8697db3e10a216efc9ac5e0fad8d.png)





