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

参考:

相关推荐
生而为虫1 分钟前
34-35.玩转Linux操作系统
linux·运维·服务器
枕咸鱼的猫3 分钟前
Linux命令打包/压缩(tar)、通用压缩(zip)详解
linux·运维·服务器
djimon4 分钟前
06年老电脑复活Ubuntu14.04配置Python网站爬自动化
开发语言·python·自动化
工业HMI实战笔记13 分钟前
拯救HMI×施耐德电气|以AI重塑工业人机交互新范式
人工智能·ui·信息可视化·自动化·人机交互·交互
康谋自动驾驶19 分钟前
分享 | 如何做好全自动化ADAS 高精度标注?
自动化·自动驾驶·数据采集·数据标注·技术解析
慧一居士26 分钟前
ubuntu和centos区别对比,使用方式区别对比及示例
运维
johnny_hhh28 分钟前
Confluent 单节点部署配置
运维·阿里云·zookeeper·kafka·centos·数据可视化
星哥说事34 分钟前
零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台
运维·服务器·docker
wusp19941 小时前
SSL 证书自动化系统架构文档
系统架构·自动化·ssl
@TangXin1 小时前
Jenkins-Pipeline语法示例
java·servlet·jenkins