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

参考:

相关推荐
Guheyunyi7 小时前
智能巡检系统:智能化管理的安全守护者
大数据·运维·服务器·人工智能·安全
枸杞CN7 小时前
Ubuntu设置静态网络IP
linux·运维·服务器
aloha_7897 小时前
Linux常用增删改查命令
linux·运维·excel
water_937 小时前
ubuntu20.04 在conda虚拟环境中配置深度学习环境
linux·运维·ubuntu
ManageEngineITSM7 小时前
IT 资产扫描工具与企业服务台的数字化底层价值
大数据·运维·人工智能·itsm·工单系统
学困昇7 小时前
Linux基础开发工具(上):从包管理到“进度条”项目实战,掌握 yum/vim/gcc 核心工具
linux·运维·开发语言·数据结构·c++·vim
en-route8 小时前
软件生命周期全解析:从开发到运维的全流程管理
运维
beijingliushao8 小时前
99-在Linux上安装Anaconda
linux·运维·服务器·spark
wanhengidc8 小时前
弹性云服务器的安全保障都有哪些?
运维·服务器·科技·安全·智能手机
JSU_曾是此间年少8 小时前
docker 使用指南
运维·docker·容器