linux + jenkins + svn + maven + node 搭建及部署springboot多模块前后端服务

news2024/10/2 14:34:26

linux搭建jenkins

基础准备

  • linux配置jdk、maven,配置系统配置文件
    vi /etc/profile配置jdk、maven
export JAVA_HOME=/usr/java/jdk1.8.0_261-amd64
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export MAVEN_HOME=/apache-maven-3.9.0
export MAVEN_HOME
export PATH=$PATH:$MAVEN_HOME/bin

执行source /etc/profile

  • 启动jenkins
    在这里插入图片描述
nohup java -jar jenkins.war --httpPort=8083 &

查看日志,会生成一个字符串密码

在这里插入图片描述

  • 初始登录时输入这个密码然后进行修改用户和设置密码
  • 默认存储的地方是/root/.jenkins
  • 修改系统配置文件
vi /etc/profile配置.jenkins
export JENKINS_HOME=/home/.jenkins
  • 下载插件

    下载需要的plugins再上传,或者直接copy已有的plugins到./jenkins/plugins路径下

  • Jenkins系统配置
    在这里插入图片描述

在这里插入图片描述

构建后端服务

  1. 新建项目视图
    在这里插入图片描述

  2. 新建maven任务
    在这里插入图片描述

  3. 配置源码地址和凭证
    在这里插入图片描述

  4. 构建触发器
    在这里插入图片描述
    定时构建
    定时构建语法:* * * * *
    每天8点、12点、17点构建:0 8,12,17 * * *

  5. Build配置
    在这里插入图片描述

clean -T 8C package -Dmaven.test.skip=true
  1. 构建后操作
    在这里插入图片描述
    启动脚本
#将应用停止
#stop.sh
#!/bin/bash
echo "Stopping SpringBoot Application"
sp_pid=`ps -ef | grep *.jar | grep -v grep | awk '{print $2}'`
if [ -z "$sp_pid" ];
then
 echo "[ not find sp-tomcat pid ]"
else
 echo "find result: $sp_pid "
 kill -9 $sp_pid
fi

echo "startUp"
#startup.sh 启动项目
echo "授予当前用户权限"
chmod 777 /path/*.jar
echo "执行"
cd /path
sleep 1s
BUILD_ID=dontKillMe nohup java -jar *.jar >nohup.out 2>&1 &
echo "startEnd"

构建前端服务

  1. 安装node打包插件
    node-v10.16.3-linux-x64

  2. 修改系统配置

export PATH=$PATH:/home/node-v10.16.3-linux-x64/bin:$PATH

执行source /etc/profile

  1. 新建任务,选择自由风格
    在这里插入图片描述

  2. 源码管理
    在这里插入图片描述
    注意源码需要上传node_modules,需要打包插件,或者上传node压缩包tar.gz

  3. 构建触发器
    在这里插入图片描述
    定时构建
    定时构建语法:* * * * *
    每天8点、12点、17点构建:0 8,12,17 * * *

  4. 构建环境——配置脚本(操作工作空间内的)
    在这里插入图片描述

  5. 构建环境——执行删除命令
    在这里插入图片描述

  6. 构建后操作
    在这里插入图片描述

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

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

相关文章

【深入浅出 Yarn 架构与实现】4-6 RM 行为探究 - 申请与分配 Container

本小节介绍应用程序的 ApplicationMaster 在 NodeManager 成功启动并向 ResourceManager 注册后,向 ResourceManager 请求资源(Container)到获取到资源的整个过程,以及 ResourceManager 内部涉及的主要工作流程。 一、整体流程 …

吴恩达机器学习笔记——线性回归

1.模型描述有训练集数据房子面积和卖出的价钱,我们用这组数据来模拟特定面积的房子能够卖出的价钱。这是一个很明显的监督学习(supervised learning)的例子,因为我们的训练集里包含了正确的结果(即房子的卖价&#xff…

非递归迭代实现二叉树前序,中序,后序遍历

文章目录1. 前序遍历2. 中序遍历3. 后序遍历1. 前序遍历 题目链接 解题思路: 非递归遍历一棵树有两点: 1.左路结点 2.左路结点的右子树 什么意思呢? 我们知道前序遍历是按照根,左子树,右子树来的。所以它是先根&…

js中的原型链

js中原型和原型链😚 1、为什么需要原型链?🤣😚 凡事都是有一定的需求和原因发展起来的,在ECMA中为什么要提出原型链这个概念呢? 我们知道,创建对象有两种方式。一种是通过字面量来创建&#…

科研 | 论文写作 | 最常用的LaTeX语法

最常用的LaTeX语法1. 行内公式2. 行间公式3. 下标4. 上标5. 公式编号6. 数学公式7. 根号和分式8. 上下标记9. 向量10. 积分、极限、求和、乘积11. 三圆点12. 重音符号13. 矩阵14. 小写希腊字母和大写希腊字母15. 公式组合16. 拆分单个公式1. 行内公式 格式:将公式编…

流计算框架storm概览

Attention: supervison 和 nimbus的状态都实时保存在zookeeper集群中和本地. Enchance, this means you can kill -9 Nimbus or the Supervisors and theyll start back up as nothing happened. Topologies 1. storm jar all-my-code.jar org.apache.storm.MyTopology a…

父类子类静态代码块、构造代码块、构造方法执行顺序

github:https://github.com/nocoders/java-everything.git 名词解释 静态代码块:java中使用static关键字修饰的代码块,每个代码块只会执行一次,JVM加载类时会执行静态代码块中的代码,静态代码块先于主方法执行。构造代码块&#…

[Java面经] 三年工作经验, 极兔一二面

极兔一二面面经: 1. mysql的acid怎么实现的 这一点先回答ACID分别是A(原子性),C(一致性),I(隔离性),D(持久性), 其中持久性是数据库落磁盘的操作,无需额外实现. 隔离性是通过事务的隔离级别来实现, MySQL默认的隔离级别是RR(可重复读), 虽然上面还有一层Serializable(串行化…

如何在canvas中模拟css的背景图片样式

笔者开源了一个Web思维导图mind-map,最近在优化背景图片效果的时候遇到了一个问题,页面上展示时背景图片是通过css使用background-image渲染的,而导出的时候实际上是绘制到canvas上导出的,那么就会有个问题,css的背景图…

【日常总结】docker容器相互调用,占用服务器带宽解决方案

目录 一、场景: 1. 环境 2. 项目背景: 3. 全球时区解决方案 4. 方案二步骤 二、问题 三、产生原因 四、解决方案 五、解决步骤 六、整改效果 一、场景: docker容器相互调用,占用慢服务器带宽,导致netty连接的…

go 切片(slice)原理及用法注意事项

切片(slice)定义 go语言中的slice是一种数据结构,其定义为一个结构体,如下所示; type SliceHeader struct {Data uintptr // 指向底层数组的指针Len int // 切片的长度Cap int // 切片的容量 }切片与数组 切片的底层数据存储结构是 数组切片较为灵活,能动态扩容,而数组是定…

vue2使用v-viewer实现图片预览ImagePreview

追溯&#xff1a; View UI Plus 是 View Design 设计体系中基于 Vue.js 3 的一套 UI 组件库&#xff0c;里面有个组件ImagePreview可以实现“图片预览”。 使用ImagePreview组件&#xff0c;报错&#xff1a; [Vue warn]: Unknown custom element: <ImagePreview> - d…

odoo15 标题栏自定义

odoo15 标题栏自定义 如何显示为自定义呢 效果如下: 代码分析: export class WebClient extends Component {setup() {this.menuService = useService("menu");this.actionService = useService("action");this.title = useService("title&…

在Docker 上完成对Springboot+Mysql+Redis的前后端分离项目的部署(全流程,全截图)

本文章全部阅读大约2小时&#xff0c;包含一个完整的springboot vue mysqlredis前后端分离项目的部署在docker上的全流程&#xff0c;比较复杂&#xff0c;请做好心理准备&#xff0c;遇到问题可留言或则私信 目录 1 安装Docker&#xff0c;以及简单使用参照 2 Docker部署m…

HOT100--(3)无重复字符的最长子串

点击查看题目详情 大思路&#xff1a; 创建哈希表&#xff0c;元素类型为<char, int>&#xff0c;分别是字符与其对应下标 用哈希表来存储未重复的子串&#xff0c;若有重复则记录下当前子串最大值maxhashsize 并且开始以相同方法记录下一子串 遍历完成以后&#xff0c…

Android OpenCV(七十三):吊打高斯模糊的StackBlur Android 实践

前言 OpenCV 4.7.0 2022年12月28日Release,ChangeLog中提到 Stackblur algorithm implementation. Stackblur是一种高斯模糊的快速近似,由Mario Klingemann发明。其计算耗时不会随着kernel size的增大而增加,专为大kernel size的模糊滤波场景量身定制。 使用建议:当kerne…

[RDMA-高级计算机网络report] Congestion Control for Large-Scale RDMA Departments

本文主要解决的问题是在RoCEv2体系中&#xff0c;基于优先级的拥塞控制PFC是一种粗粒度的机制。 它在端口&#xff08;或端口加优先级&#xff09;级别上运行&#xff0c;并且不区分流。PAUSE机制是基于每个端口&#xff08;和优先级&#xff09;的&#xff0c;而不是基于每个流…

mysql数据库之索引使用原则

一、最左前缀法则。 1、如果索引使用了多列&#xff08;联合索引&#xff09;&#xff0c;要遵守最左前缀法则。最左前缀法则指的是查询从索引的最左列开始&#xff0c;并且不跳过索引中的列。 如果跳跃到某一列&#xff0c;索引将部分失效&#xff08;后面的字段索引失效&am…

springboot启动时遇见的版本不同、无法启动、自动停止问题解决方案

Springboot项目启动失败初来乍到&#xff0c;听说springboot很好用&#xff0c;很简便&#xff0c;于是爱搞事情的我就打算试试&#xff0c;因为最近在找工作&#xff0c;很多软件开发的也要求springboot的使用&#xff0c;于是我就开启了springboot的学习之旅&#xff0c;打算…

Vue3 企业级项目实战:认识 Spring Boot

Vue3 企业级项目实战 - 程序员十三 - 掘金小册Vue3 Element Plus Spring Boot 企业级项目开发&#xff0c;升职加薪&#xff0c;快人一步。。「Vue3 企业级项目实战」由程序员十三撰写&#xff0c;2744人购买https://s.juejin.cn/ds/S2RkR9F/ 越来越流行的 Spring Boot Spr…