前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >jenkins部署前后端分离项目

jenkins部署前后端分离项目

作者头像
IT小马哥
发布2023-07-11 14:21:29
2230
发布2023-07-11 14:21:29
举报
文章被收录于专栏:Java TaleJava Tale

Git安装

代码语言:javascript
复制
yum install git

Jdk安装

官网下载 JDK8:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

代码语言:javascript
复制
安装
# 创建目录
mkdir /usr/local/java
# 拷贝安装包到指定目录
cp jdk-8u301-linux-x64.tar.gz   /usr/local/java/
# 进入java安装目录
cd /usr/local/java/
# 解压jdk安装包
tar -zxvf jdk-8u301-linux-x64.tar.gz
# 删除安装包(可选)
rm -rf jdk-8u301-linux-x64.tar.gz 
配置环境变量
# 编辑配置文件
vim /etc/profile
# 最下面添加如下内容:
export JAVA_HOME=/usr/local/java/jdk1.8.0_301
export CLASSPATH=$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin 

# 然后ESC :wq保存退出
:wq
# 配置生效
source /etc/profile
# 检查安装情况
java -version

Node安装

node下载地址: http://nodejs.cn/download/current/ https://nodejs.org/dist/

下载离线包,上传到/usr/local/node

创建软链:

代码语言:javascript
复制
# 解压
tar -zxvf node-v16.17.1-linux-x64.tar.gz
# 重命名
mv node-v16.17.1-linux-x64 node-v16.17.1
ln -s /usr/local/node/node-v16.17.1/bin/node /usr/local/bin
ln -s /usr/local/node/node-v16.17.1/bin/npm /usr/local/bin

Maven 安装

下载

代码语言:javascript
复制
wget  https://dlcdn.apache.org/maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz

解压

代码语言:javascript
复制
tar -xzvf apache-maven-3.6.1-bin.tar.gz

配置系统maven环境

编辑系统环境文件profile,该文件类似于windows里的环境变量。

代码语言:javascript
复制
vi /etc/profile

注意,配置的变量,请指向自己解压的maven路径:

代码语言:javascript
复制
export MAVEN_HOME=/usr/local/maven/apache-maven-3.6.1
export PATH=$MAVEN_HOME/bin:$PATH

:wq,退出保存,然后重新加载一下配置:

代码语言:javascript
复制
source /etc/profile

查看maven版本,测试配置生效:

代码语言:javascript
复制
mvn -v

配置镜像加速+指定仓库地址

配置jar包下载路径,路径指向自己的

代码语言:javascript
复制
<localRepository>/usr/local/maven/repository</localRepository>

配置阿里镜像加速,默认是从中央仓库拉取。

代码语言:javascript
复制
<mirrors>
 <mirror>
   <id>alimaven</id>
   <name>aliyun maven</name>
   <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
   <mirrorOf>central</mirrorOf>        
 </mirror>
</mirrors>

:wq,退出保存。

jenkins安装

下载地址 https://mirrors.jenkins.io/war-stable/

下载

代码语言:javascript
复制
wget https://sg.mirror.servanamanaged.com/jenkins/war/2.346/jenkins.war

安装

代码语言:javascript
复制
nohup java  -jar jenkins.war --httpPort=6888  2>&1 &

插件

代码语言:javascript
复制
# maven项目插件
Maven Integration  
# 备份插件
ThinBackup   
# 可以在构建时进行分支选择
Git Parameter Plug-In
# NODE前端发布
NODEJS
# 角色配置
Role-based Authorization Strategy
# 开机自启
Startup

配置

Maven 配置
代码语言:javascript
复制
/usr/local/maven/apache-maven-3.6.1/conf/settings.xml
JDK
代码语言:javascript
复制
#jdk8    
/usr/local/java/jdk1.8.0_371
Maven
代码语言:javascript
复制
#Name  
maven3.6
代码语言:javascript
复制
# MAVEN_HOME   
/usr/local/maven/apache-maven-3.6.1

NodeJs

后端部署配置

General

代码语言:javascript
复制
后端-XX系统-演示环境

源码管理

代码语言:javascript
复制
http://192.168.1.7:1234/mrfr/backend/mrfResource.git

构建环境

代码语言:javascript
复制
pom.xml
clean package  -Dmaven.test.skip=true

Post Steps

代码语言:javascript
复制
#!/bin/bash

#环境
ENV=test

#源jar路径,打包完成之后,target目录下的jar包名称
JAR_NAME=mrf-admin

#target打包生成jar包的目录
# 以具体的打包位置为准,可以先构建一次项目,通过日志查看打包的目录
JAR_PATH=/home/maruifu/.jenkins/workspace/后端-XX系统-测试环境/mrf-admin/target    
 
#打包完成之后,把jar包移动到运行jar包的目录
JAR_WORK_PATH=/usr/local/backend/mrfr/test
 
echo "查询进程id-->${JAR_NAME}_${ENV}"
PID=`ps -ef |grep java|grep "${JAR_NAME}_${ENV}" |grep -v grep|awk '{print $2}'`
	if [ x"$PID" != x"" ]; then
		kill -TERM $PID
		sleep 1
        echo "等待1秒钟" 
        sleep 1
        echo "等待2秒钟" 
		echo "${JAR_NAME}_${ENV} 退出."
	else
		echo "${JAR_NAME}_${ENV} 已经停止了"
	fi
echo "正在结束进程完成"

echo "正在复制jar包到执行目录"
cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH/${JAR_NAME}_${ENV}.jar
cd $JAR_WORK_PATH

echo "正在修改文件权限"
chmod 755 ${JAR_NAME}_${ENV}.jar
 
echo "正在启动${JAR_NAME}"
BUILD_ID=dontKillMe nohup java -jar ${JAR_NAME}_${ENV}.jar   --spring.profiles.active=${ENV}  2>&1 &
echo "${JAR_NAME}启动成功"

前端部署配置

General

代码语言:javascript
复制
前端-XX系统-前台-测试环境

源码管理

代码语言:javascript
复制
http://192.168.1.7:1234/mrfr/frontend/backstage.git

构建环境

代码语言:javascript
复制
Provide Node & npm bin/ folder to PATH

Post Steps

代码语言:javascript
复制
#!/bin/bash

#环境
ENV=test
 
#打包生成dist的目录
DIST_PATH=/home/maruifu/.jenkins/workspace/前端-XX系统-前台-测试环境


#打包完成之后,把DIST移动到Nginx执行的目录
UI_WORK_PATH=/usr/local/frontend/mrfr-ui/


echo  "查询node版本!"
node -v &&
echo  "正在安装依赖!"
npm install &&
echo  "正在删除上次打包的文件"
rm -rf  $(ls -d *dist* | tail -1)
echo  "安装构建打包!"
npm run build:${ENV} 

DIST_NAME=$(ls -d *dist* | tail -1)
echo  "获取打包文件夹名:${DIST_NAME}" 
echo  "正在复制文件到执行目录" 
cp -r  ${DIST_PATH}/${DIST_NAME} ${UI_WORK_PATH}
echo  "正在删除${UI_WORK_PATH}dist" 
rm -rf  ${UI_WORK_PATH}dist

cd ${UI_WORK_PATH}
mv  ${DIST_NAME}    dist
echo  "部署完成了!"
echo  "部署完成了!"
echo  "部署完成了!"

权限配置

角色设置

用户设置

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-06-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Git安装
  • Jdk安装
  • Node安装
  • Maven 安装
    • 下载
      • 解压
        • 配置系统maven环境
          • 配置镜像加速+指定仓库地址
          • jenkins安装
            • 下载
              • 安装
                • Maven 配置
                • JDK
                • Maven
            • 插件
            • 配置
              • NodeJs
              • 后端部署配置
                • General
                  • 源码管理
                    • 构建环境
                      • Post Steps
                      • 前端部署配置
                        • General
                          • 源码管理
                            • 构建环境
                              • Post Steps
                              • 权限配置
                                • 角色设置
                                  • 用户设置
                                  领券
                                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档