jenkins自动化部署安装

一、准备工作

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

4、安装jenkins

二、配置Jenkins

配置JDK和Maven
# 1、全局工具配置# 1.1、新增JDK配置(主要配置JAVA_HOME)# 1.2、新增MVN配置(主要配置MVN_HOME)
# 2、全局属性配置# 2.1 配置java_home,mvn_home,path等键值对
构建一个Maven项目

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 ]thenrm -rf dist.zipelseecho "文件不存在,执行下一步"
ficd 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}/libecho "登录xxx主机起服务"
ssh ${user}@${hostname} << remotessh
source .bash_profile
cd ${target_dir}/bin
sh dist_reload.sh
sleep 2
sh start-jeecg.sh
echo "服务启动完毕"
exit

参考:

  • https://www.jianshu.com/p/2c445be71cd9
  • https://blog.csdn.net/xiaoqiang65/category_11455039.html
  • https://blog.csdn.net/weixin_45048662/article/details/126620022

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/71774.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大数据时代下的精准营销

在大数据时代&#xff0c;人们的信息越来越透明&#xff0c;留在网络上的各种数据也是企业进行营销的一个重要的生产要素。一直以来&#xff0c;营销的科学性正是因为运用了自然科学中一级互联网中的数据收集手段&#xff0c;严谨的记录、搜集和分析消费者的各项数据和日常生活…

STS4 New 安装Spring Bean Configuration File

背景介绍 在创建spring项目后&#xff0c;如果想想创建spring bean Configuration的时候&#xff0c;发下菜单没有这个选项&#xff0c;需要通过下载Spring Roo插件可满足该操作。 参考案例 参考地址&#xff1a; STS4 New 菜单没有Spring Bean Configuration File选项_SQZHA…

Android 进阶——图形显示系统之Choreographer监听VSync并提供回调接口详解(二)

文章目录 引言一、Choreographer 信号的分发处理二、Choreographer.FrameDisplayEventReceiver # onVsync方法向主线程发送Message消息三、主线程Looper处理消息并触发Choreographer.FrameDisplayEventReceiver.run方法四、Choreographer#doFrame处理回调1、Choreographer#doFr…

【Windows注册表内容详解】

Windows注册表内容详解 第一章节 注册表基础 一、什么是注册表 注册表是windows操作系统、硬件设备以及客户应用程序得以正常运行和保存设置的核心“数据库”&#xff0c;也可以说是一个非常巨大的树状分层结构的数据库系统。 注册表记录了用户安装在计算机上的软件和每个程…

企业网络小实验-MUX-Vlan(NAT)

路漫漫其修远兮&#xff0c;吾将上下而求索 直接上实验 实验说明 模拟公司的部门实验&#xff0c; &#xff08;1&#xff09;公司主机如图所示&#xff0c;配置DNS服务器&#xff0c;配置NAT地址转换&#xff08;使用easy-ip的形式&#xff09;访问外网。 &#xff08;2&…

【性能测试】Jenkins+Ant+Jmeter自动化框架的搭建思路

前言 前面讲了Jmeter在性能测试中的应用及扩展。随着测试的深入&#xff0c;我们发现在性能测试中也会遇到不少的重复工作。 比如某新兴业务处于上升阶段&#xff0c;需要在每个版本中&#xff0c;对某些新增接口进行性能测试&#xff0c;有时还需要在一天中的不同时段分别进行…

Lumion 和 Enscape 应该选择怎样的笔记本电脑?

Lumion 和 Enscape实时渲染对配置要求高&#xff0c;本地配置不够&#xff0c;如何快速解决&#xff1a; 本地普通电脑可一键申请高性能工作站&#xff0c;资产安全保障&#xff0c;供软件中心&#xff0c;各种软件插件一键获取&#xff0c;且即开即用&#xff0c;使用灵活&am…

23个react常见问题

1、setState 是异步还是同步&#xff1f; 合成事件中是异步 钩子函数中的是异步 原生事件中是同步 setTimeout中是同步 相关链接&#xff1a;你真的理解setState吗&#xff1f;&#xff1a; 2、聊聊 react16.4 的生命周期 图片 相关连接&#xff1a;React 生命周期 我对 Reac…

NFT Insider#105:The Sandbox即将参加韩国区块链周,YGG的声誉和进步(RAP)将引领玩家晋升到下一层级

引言&#xff1a;NFT Insider由NFT收藏组织WHALE Members(https://twitter.com/WHALEMembers)、BeepCrypto&#xff08;https://twitter.com/beep_crypto&#xff09;联合出品&#xff0c;浓缩每周NFT新闻&#xff0c;为大家带来关于NFT最全面、最新鲜、最有价值的讯息。每期周…

sql_mode详解

文章目录 一、sql_mode作用二、查询sql_mode三、mysql8默认的mode配置&#xff08;6个默认配置&#xff09;四、常见mode详细解释mysql8默认配置了的mode&#xff08;6个&#xff09;需要自己配置的mode&#xff08;4个&#xff09; 五、设置sql_mode&#xff08;一旦设置了&am…

蓝桥杯官网练习题(算式900)

题目描述 本题为填空题&#xff0c;只需要算出结果后&#xff0c;在代码中使用输出语句将所填结果输出即可。 小明的作业本上有道思考题&#xff1a; 看下面的算式&#xff1a; (□□□□-□□□□)*□□900其中的小方块代表 0 ~ 9 的数字&#xff0c;这 10 个方块刚好包含了…

Vue:组件缓存

组件缓存 keep-alive 文章目录 组件缓存 keep-alive一、keep-alive是什么二、keep-alive优点三、问题四、解决方案五、代码示例 六、回顾一下钩子七、总结 一、keep-alive是什么 keep-alive是Vue中的一个内置组件&#xff0c;会缓存不活动的组件实例。并不会销毁组件&#xff…

django-项目

一、RESTful设计风格 基础概念 全称&#xff1a;Representational State Transfer 1.资源 网络上的一个实体&#xff0c;每个资源都有一个独一无二的URL与之对应&#xff1b;获取资源-直接访问URL即可 2.表现层 资源的表现形式 如HTML、xml、JPG、json等 3.状态转化 …

基于SSM的家政服务网站

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

QT Day2!!1.登录跳转界面 2.枚举类型 3.左值与右值4.面试问题

1.作业登录跳转界面 //form.h #ifndef FORM_H #define FORM_H#include <QWidget>namespace Ui { class Form; }class Form : public QWidget {Q_OBJECTpublic:explicit Form(QWidget *parent nullptr);~Form();public slots:void jump_slot();private:Ui::Form *ui; };…

ScheduledExecutorService 接口

ScheduledExecutorService 继承自 ExecutorService,用于支持按计划执行任务。它允许在将来的某个时间点或以固定时间间隔执行任务。ScheduledExecutorService 是使用 java.util.concurrent 包提供的功能之一。 以下是使用 ScheduledExecutorService 的一些基本示例: 定时执行…

【DB】Windows 环境修改MySql 8.0.x 密码

目录 一. 问题 二. 说明 三. 步骤 3.1 账户 3.2 服务 3.3 文件 四. 参考 一. 问题 好久没装数据了, 最近导入数据, 次哦&#xff0c;密码忘记了&#xff0c;网上搜了搜也不靠谱; 去管网上扒拉看看如何修改吧? 二. 说明 使用超级管理员模式, 看下本机 MySQL 版本号 $…

LeetCode(力扣)78. 子集Python

LeetCode78. 子集 题目链接代码 题目链接 https://leetcode.cn/problems/subsets/description/ 代码 class Solution:def subsets(self, nums: List[int]) -> List[List[int]]:result []self.backtracking(nums, result, 0, [])return resultdef backtracking(self, nu…

rust换源

在$HOME/.cargo/目录下建一个config文件。windows默认是C:\Users\user_name\.cargo。 config文件输入&#xff1a; [source.crates-io] registry "https://github.com/rust-lang/crates.io-index" # 使用 replace-with指明默认源更换为ustc源 replace-with ustc#…

如何实现自动化测试?

一、首先我们要清楚自动化测试的分类 以实现方式可分为UI自动化和接口自动化。UI自动化可用selenium等工具实现&#xff0c;接口自动化可用使用RobotFramework和Jmeter等工具实现&#xff0c;Jmeter也可做性能自动化&#xff0c;压力测试。 二、平时自动化测试怎么做 1. UI和…