jenkins自动化部署安装

一、准备工作

1、安装jdk
shell 复制代码
# 1、下载准备jdk包(也可以用docker安装)
wget ...
# 2、直接解压到,无需安装
unzip ...
2、安装maven
shell 复制代码
# 1、下载准备maven压缩包
wget ...
# 2、直接解压,无需安装
unzip ... 
# 3、修改setting.xml,修改localRepository和MIRROR镜像地址
vi setting.xml
3、修改环境变量
shell 复制代码
# 修改环境变量
vi /etc/profile
    export JAVA_HOME=/app/jdk1.0
    export MAVEN_HOME=/app/maven-3
    export PATH=$JAVA_HOME/bin:$PATH:$MAVEN_HOME/bin
source /etc/profile # 配置生效
# 查看是否生效
java -v
mvn -version
3、安装gitlab
  • gitlab可以安装到另外一台对外服务或者直接使用github或者gitee
shell 复制代码
4、安装jenkins
shell 复制代码

二、配置Jenkins

配置JDK和Maven
shell 复制代码
# 1、全局工具配置
    # 1.1、新增JDK配置(主要配置JAVA_HOME)
    # 1.2、新增MVN配置(主要配置MVN_HOME)
# 2、全局属性配置
    # 2.1 配置java_home,mvn_home,path等键值对
构建一个Maven项目
shell 复制代码
shell脚本
shell 复制代码
#!/bin/bash
set -e
export LANG=zh_CN.GB2312
# 服务器用户名
user="root"
# 服务器IP (xxx.xx.xx.xxx是指服务器ip填写即可)
hostname="xxx.xx.xx.xxx"
# 测试环境部署路径
target_dir="/home/repair"
# 前端包压缩文件
src_dist="dist.zip"
# 后端包文件名
src_jeecg="bmzy-modules-2.4.0.jar"
# jenkins工作路径
jenkins_workspace="/root/.jenkins/workspace/test_job"
 
echo "编译前端包"
cd ${jenkins_workspace}/web
yarn install
yarn run build
zip -r dist.zip dist/
chmod 755 dist.zip
cd ..
 
if [ -e $src_dist ]
   then
        rm -rf dist.zip
   else
        echo "文件不存在,执行下一步"
fi
 
cd web/
mv dist.zip ${jenkins_workspace}
echo "前端包编译完成"
 
echo "开始编译后端代码"
cd ${jenkins_workspace}/app
mvn clean package  install -Dmaven.test.skip=true
mv ${jenkins_workspace}/app/bmzy-modules/target/bmzy-modules-2.4.0.jar ${jenkins_workspace}
cd ${jenkins_workspace} && chmod 755 ${src_jeecg}
echo "编译后端代码完成"
 
echo "将前端压缩包上传至xxx主机"
cd ${jenkins_workspace}
scp ${src_dist} ${user}@${hostname}:${target_dir}
echo "将后端压缩包上传至xxx主机"
cd ${jenkins_workspace}
scp ${src_jeecg} ${user}@${hostname}:${target_dir}/lib
 
echo "登录xxx主机起服务"
ssh ${user}@${hostname} << remotessh
source .bash_profile
cd ${target_dir}/bin
sh dist_reload.sh
sleep 2
sh start-jeecg.sh
echo "服务启动完毕"
exit

参考:

相关推荐
少妇的美梦18 小时前
logstash教程
运维
chen94518 小时前
k8s集群部署vector日志采集器
运维
chen94518 小时前
aws ec2部署harbor,使用s3存储
运维
東雪蓮☆1 天前
深入理解 LVS-DR 模式与 Keepalived 高可用集群
linux·运维·服务器·lvs
qq_264220891 天前
LVS负载均衡群集和LVS+Keepalived群集
运维·负载均衡·lvs
乌萨奇也要立志学C++1 天前
【Linux】进程概念(二):进程查看与 fork 初探
linux·运维·服务器
雨落Liy1 天前
Nginx 从入门到进阶:反向代理、负载均衡与高性能实战指南
运维·nginx·负载均衡
Yyyy4821 天前
Nginx负载均衡集群实验步骤
运维·nginx·负载均衡
獭.獭.1 天前
Linux -- 信号【上】
linux·运维·服务器
hashiqimiya1 天前
centos配置环境变量jdk
linux·运维·centos