前后端Shell自动化部署
Git安装
安装Git
1 2 3 4
| yum list git
yum install git
|
生成SSH公钥
1 2 3 4
| ssh-keygen -t rsa -C "1274604930@qq.com"
cd ~/.ssh
|
id_rsa.pub
是公钥
id_rsa
是私钥
添加公钥
在Gitee中添加公钥,用户可以通过主页右上角 「个人设置」->「安全设置」->「SSH公钥」->「添加公钥」 ,添加生成的 public key 添加到当前账户中。
克隆代码,选择SSH方式。
JDK安装
下载
下载安装包:https://repo.huaweicloud.com/java/jdk/
删除自带JDK
- 输入:
java -version
- 发现有输入:
rpm -qa | grep java
检测jdk的安装包,(注意:rpm命令符没有时记得下载一个输入:apt-get install +命令名称
)
- 接着进行一个个删除包,输入:
rpm -e --nodeps +包名
- 最后再次:
rpm -qa | grep java
检查是否删除完即可
解压安装
1 2 3 4 5 6
| cd /usr/local/lib mkdir java chmod 7777 java
tar -zxvf jdk-8u231-linux-x64.tar.gz -C /usr/local/lib/java
|
配置环境遍历
1 2 3 4 5 6 7 8 9 10 11
| vim /etc/profile
export JAVA_HOME=/usr/local/lib/java/jdk1.8.0_202 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH
source /etc/profile
|
最后检查一下:java -version
Maven安装
安装
maven可以直接复制开发中用的maven到linux服务器,需注意配置阿里云镜像和本地仓库地址。
配置环境变量
同JDK一致,内容添加如下,别忘了source /etc/profile
1 2
| export MAVEN_HOME=/usr/local/apache-maven-3.6.3 export PATH=$MAVEN_HOME/bin:$PATH
|
检查一下:mvn -v
如果不可执行,则进入maven的bin目录,执行chmod 777 mvn
,给mvn相应的执行权限。
nvm安装
下载
nvm是一个Node.js版本管理工具,它允许您安装和切换不同版本的Node.js。使用nvm可以避免一些依赖问题,因为它使用自己的环境变量和路径。
1
| curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
|
安装完成后,重新打开终端或运行source ~/.bashrc
(或对应的shell配置文件),然后使用nvm安装Node.js:
1 2 3 4
| 复制nvm install node nvm install 20.12.2 nvm list nvm use 版本号
|
CICD脚本
nginx已配置代理,已作为静态服务器。
已提前拉去项目代码到服务器。
后端启动脚本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| #!/bin/sh echo ================================= echo 后端服务自动化脚本部署 echo =================================
echo 停止原来运行中的工程 PID=$(netstat -tlnp | grep 8080 | awk '{print $7}' | awk -F '/' '{print $1}') if [ -z "$PID" ] then echo 项目已停止 else echo kill -9 $PID kill -9 $PID fi
echo 准备从Git仓库拉取最新代码 cd /root/automonitor/auto-monitor
echo 拉取代码 git pull origin master echo 代码拉取完成
echo 开始打包 output=`mvn clean package -Dmaven.test.skip=true` echo 打包完成
cd tsy-admin/target
echo 启动项目 nohup java -jar tsy-admin.jar --spring.profiles.active=prod > /root/automonitor/nohup.out 2>&1 & echo 项目启动完成
|
前端启动脚本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| #!/bin/sh echo ================================= echo 前端服务自动化脚本部署 echo =================================
echo 删除原来运行中的工程目录 rm -rf /root/lrwjz/nginx/nginx/html/dist echo 删除成功
echo 准备从Git仓库拉取最新代码 cd /root/automonitor/auto-monitor-web
echo 拉取代码 git pull origin index_map echo 代码拉取完成
echo 开始打包 output=`npm run build:prod` echo 打包完成
echo 打包文件部署 mv dist /root/lrwjz/nginx/nginx/html/ echo 项目启动完成
|
备注
cmd连接linux
1 2 3
| ssh root@139.196.253.193
|
cmd命令上传文件
1 2 3
| scp -r dist root@139.196.253.193:/root/lrwjz/nginx/nginx/html/
|