Jenkins持续集成-快速上手
Jenkins持续集成-快速上手
- 注:Jenkins一般不单独使用,而是需要依赖代码仓库,构建工具等。
搭配组合:Git+Gitee(GitHub、GitLab)+Maven+Jenkins
前置准备
常见安装方式:
- war包
- Docker容器实例(推荐,方便快捷)
一、Docker安装Jenkins教程
由于Jenkins需要依赖Git、Maven环境,因此需要现在服务器上安装好这两、然后将其挂载到容器内部即可。
(因为容器内部是没有Git、Maven,我们通过外部挂载形式,使其有这些依赖环境。)
git安装
yum install -y git
maven安装
官网下载linux版的maven,配置镜像、上传linux服务器解压即可。
宝塔先安装Docker,安装完成后、直接运行如下命令(如果镜像不存在、会自动拉取然后运行起来):
#Jenkins默认端口:8080 ,剩下的都是冗余端口====可自定义。docker run -d -p 8080:8080 -p 8090:8090 -p 9090:9090 -p 50000:50000 -v /usr/local/apache-maven-3.8.6:/usr/local/maven -v /usr/bin/git:/usr/local/git -v /etc/localtime:/etc/localtime --name Jenkins jenkins/jenkins进入容器实例内部:docker exec -it Jenkins /bin/bash
二、进入Jenkins安装插件
#maven集成插件
Maven Integration plugin
#实现远程触发器授权(非登录状态触发)
Build Authorization Token Root Plugin
#发布生产服务器插件
Publish Over SSH
三、清理脚本
前置脚本

#!/bin/bashappname=$1rm -rf "${appname}*.jar"#获取传入的参数
echo "arg:$1"#获取正在运行的jar包pid
pid=`ps -ef | grep $1 | grep 'java -jar' | awk '{printf $2}'`echo $pid#如果pid为空,提示一下,否则,执行kill命令
if [ -z $pid ];
#使用-z 做空值判断thenecho "$appname not started"elsekill -9 $pidecho "$appname stoping...."check=`ps -ef | grep -w $pid | grep java`
if [ -z $check ];thenecho "$appname pid:$pid is stop"elseecho "$appname stop failed"fifi
后置脚本(部署脚本)
#!/bin/bash
appname=$1
deploy_port=$2
echo "部署项目:${appname}*.jar ,端口:${deploy_port}"
nohup java -jar -Dserver.port=${deploy_port} /root/${appname}*.jar >test.log 2>&1 &

四、运行脚本
nohup java -jar -Dserver.port=9876 /root/test-jenkins-0.0.1-SNAPSHOT.jar >test.log 2>&1 &
五、pipline流水线(核心)
略。
相关文章:
Jenkins持续集成-快速上手
Jenkins持续集成-快速上手 注:Jenkins一般不单独使用,而是需要依赖代码仓库,构建工具等。 搭配组合:GitGitee(GitHub、GitLab)MavenJenkins 前置准备 常见安装方式: war包Docker容器实例&…...
查看linux 所有运行的应用和端口命令
要查看 Linux 中所有运行的应用程序及其对应的端口,可以使用以下命令: 1. 使用 netstat 命令(已被弃用,建议使用 ss 命令): netstat -tuln 这会显示当前系统上所有打开的网络连接和监听的端口。其中&#…...
Maven安装与配置,Eclipse配置Maven【图文并茂的保姆级教程】
🥳🥳Welcome Huihuis Code World ! !🥳🥳 接下来看看由辉辉所写的关于Maven的相关操作吧 目录 🥳🥳Welcome Huihuis Code World ! !🥳🥳 一.Maven是什么? 二.Maven的下…...
利用XLL文件投递Qbot银行木马的钓鱼活动分析
1概述 近期,安天CERT发现了一起利用恶意Microsoft Excel加载项(XLL)文件投递Qbot银行木马的恶意活动。攻击者通过发送垃圾邮件来诱导用户打开附件中的XLL文件,一旦用户安装并激活Microsoft Excel加载项,恶意代码将被执…...
2023CNSS——WEB题解(持续更新)
[Baby] SignIn 进来看到 按钮点击不了,想到去修改代码,要“检查“,但这里的右键和F12都不可用 还好还有其他方法 检查的各种方法 选用一种后进入检查页面 删掉这里的disabled即可 点击后得到flag [Baby] Backdoor 进入,…...
Unity之ShaderGraph 节点介绍 数学节点
数学 高级Absolute(绝对值)Exponential(幂)Length(长度)Log(对数)Modulo(余数)Negate(相反数)Normalize(标准化矢量&…...
springboot mongo 使用
nosql对我来说,就是用它的变动列,如果列是固定的,我为什么不用mysql这种关系型数据库呢? 所以,现在网上搜出来的大部分,用实体类去接的做法,并不适合我的需求。 所以,整理记录一下…...
如何使用appuploader制作apple证书
转载:如何使用appuploader制作apple证书 如何使用appuploader制作apple证书 一.证书管理 点击首页的证书管理 二.新建证书 点击“添加”,新建一个证书文件 免费账号制作证书只有7天有效期,没有推送消息功能,推送证书…...
Promise详细版
promise基础原理到难点分析 常见的Promise的方法解读 扩展async和await深入分析 逐步分析Promise底层逻辑代码 一、Promise基础 1.什么是promise 为了解决回调地狱: //2.设置点击事件btn.onclick function() {//3.创建ajax实例化对象let xhr new XMLHttpRe…...
v-for循环生成的盒子只改变当前选中的盒子的样式
1.给盒子添加动态属性:class"[index isActive?active-box:choose-box]" <div v-for"(item,index) in zyList" :key"item.sid" :class"[index isActive?active-box:choose-box]" click"getKmList(item,index)"…...
Spring Data JPA源码
导读: 什么是Spring Data JPA? 要解释这个问题,我们先将Spring Data JPA拆成两个部分,即Sping Data和JPA。 从这两个部分来解释。 Spring Data是什么? 摘自: https://spring.io/projects/spring-data Spring Data’s mission is to provide a familiar and cons…...
如何防止CSRF攻击
背景 随着互联网的高速发展,信息安全问题已经成为企业最为关注的焦点之一,而前端又是引发企业安全问题的高危据点。在移动互联网时代,前端人员除了传统的 XSS、CSRF 等安全问题之外,又时常遭遇网络劫持、非法调用 Hybrid API 等新…...
linuxARM裸机学习笔记(7)----RTC实时时钟实验
基础概念: I.MX6U 内部也有个RTC 模块,但是不叫作“ RTC ”,而是叫做“ SNVS ”。 SNVS 直译过来就是安全的非易性存储, SNVS 里面主要是一些低功耗的外设,包括一个 安全的实时计数器 (RTC) 、一个单调计数器 (mo…...
NSS [UUCTF 2022 新生赛]ez_upload
NSS [UUCTF 2022 新生赛]ez_upload 考点:Apache解析漏洞 开题就是标准的上传框 起手式就是传入一个php文件,非常正常的有过滤。 .txt、.user.ini、.txxx都被过滤了,应该是白名单或者黑名单加MIME过滤,只允许.jpg、.png。 猜测二…...
【操作系统】操作系统知识点总结(秋招篇)
文章目录 前言操作系统主要做了哪些工作?进程 线程 协程之间的区别进程的组成部分介绍一下进程的PCB讲一下进程的五态 以及它们的状态转移用户态和内核态是什么?进程在用户态和内核态之间是如何切换的讲一下进程之间的通信方式讲一下进程调度的三个层次介…...
篇十九:迭代器模式:遍历集合
篇十九:"迭代器模式:遍历集合" 开始本篇文章之前先推荐一个好用的学习工具,AIRIght,借助于AI助手工具,学习事半功倍。欢迎访问:http://airight.fun/。 另外有2本不错的关于设计模式的资料&…...
浅谈JVM中的即时编译器(Just-In-Time compiler, JIT)
Java虚拟机(JVM)中的即时编译器(Just-In-Time compiler, JIT)是一个非常重要的组件,它负责将字节码转换为本地机器代码。在不使用JIT的情况下,JVM通过解释字节码来执行程序,这意味着它会为每个字…...
Android 13 Launcher——长按图标弹窗内容修改以及小组件等隐藏起来
目录 一.背景 二.实现思路 三.布局文件修改 四.隐藏代码中原先的view 一.背景 由于定制化开发需要将原先的长按图标原生弹窗界面隐藏,然后显示自定义的弹窗界面,如下就是我们来实现自定义的弹窗界面...
又一个不可错过的编程大模型来了让你惊呼“码农人生”不虚此行
继Stable Diffusion爆火之后,StabilityAI近期又放大招,推出了号称是革命性的编程大模型StableCode。StableCode是其首款用于编码的LLM生成式AI产品,该产品旨在帮助程序员完成日常工作。目前已发布的版本为StableCode-Completion-Alpha-3B&…...
【Express.js】集成SocketIO
集成SocketIO 本节我们介绍在如何在 express 中集成 Socket.IO Socket.IO 算是 WebSocket 的一个超集,进行了一些封装和拓展。 准备工作 创建一个 express.js 项目(本文基于evp-express-cli)安装socket.io.js: npm i socket.io创建代理 …...
功率半导体仿真避坑指南:为什么你的双脉冲仿真波形总是不对?
功率半导体双脉冲仿真波形异常排查手册:从寄生参数到热模型的深度解析 双脉冲测试作为功率半导体器件动态特性评估的黄金标准,其仿真结果却常常让工程师陷入困惑——明明按照数据手册搭建了电路,为什么Vds波形会出现异常的过冲?关…...
Android10剪贴板限制下的高效适配策略与实践
1. Android10剪贴板限制的背景与影响 Android10引入的剪贴板访问限制是近年来系统安全策略升级的重要一环。简单来说,当你的应用处于后台时,系统会禁止它读取剪贴板内容。这个变化看似微小,却让很多依赖剪贴板监听功能的应用不得不重新思考实…...
iMakerPS2:多PS2手柄高可靠通信协议栈
1. 项目概述iMakerPS2 是一款专为嵌入式系统设计的 PlayStation 1/2 控制器通信协议栈,由越南 iMaker 团队重构并持续维护。该库并非简单封装,而是基于对 PS2 协议物理层、时序逻辑与命令帧结构的深度逆向解析所构建的轻量级、高鲁棒性驱动框架。其核心目…...
无片外电容LDO电路设计方案:‘完整IP现成电路,含过温过流保护与性能指标流片验证’及学习资源包
无片外电容LDO电路设计 完整IP现成电路,具有过温保护和过流保护,带隙,BUFFER都有 性能指标已流片验证 同时有相关文献、各模块电路功能分析简化计算笔记,适合学习入门不适合纵向可以附赠一些自己学习时觉得比较有帮助的资料。 有好…...
别再只靠软件了!揭秘TMS320F280049内部SR触发器实现峰值电流模式的另类玩法
挖掘TMS320F280049隐藏技能:用SR触发器实现高精度电流采样的极限实验 当大多数工程师还在用标准PWM模块处理峰值电流控制时,TI C2000 DSP内部其实藏着一个被严重低估的信号链宝藏。这次我们要解剖的,是TMS320F280049芯片内部那个鲜少被关注的…...
7-Zip-JBinding终极指南:在Java中无缝集成7-Zip压缩解压能力
7-Zip-JBinding终极指南:在Java中无缝集成7-Zip压缩解压能力 【免费下载链接】sevenzipjbinding 7-Zip-JBinding 项目地址: https://gitcode.com/gh_mirrors/se/sevenzipjbinding 你是否曾为Java项目中处理各种压缩格式而头疼?当需要支持7z、RAR、…...
USB-Disk-Ejector:重新定义Windows设备安全移除体验
USB-Disk-Ejector:重新定义Windows设备安全移除体验 【免费下载链接】USB-Disk-Ejector A program that allows you to quickly remove drives in Windows. It can eject USB disks, Firewire disks and memory cards. It is a quick, flexible, portable alternati…...
祝贺电影《日掛中天》荣获2026亚洲艺术电影节两项提名
祝贺电影《日掛中天》荣获2026亚洲艺术电影节两项提名 。 祝贺演员辛芷蕾 提名最佳女主角; 祝贺演员冯绍峰 提名最佳男配角。#亚洲艺术电影节#AAFF2026#电影节#辛芷蕾#冯绍峰#电影日掛中天...
2026年精选50个高质量PHP源码下载网站推荐
在当今数字化时代,PHP作为一门广泛应用的服务器端脚本语言,凭借其易用性、灵活性和强大的社区支持,成为众多网站和应用程序开发的首选。无论是构建个人博客、企业官网,还是开发复杂的电商系统,PHP都能提供高效的解决方…...
CANoe离线回放与Trace回放:场景选择与实战配置全解析
1. CANoe回放功能概述:从数据文件到场景复现 第一次接触CANoe的回放功能时,我完全被各种专业术语搞晕了。直到有一次需要复现一个偶发的总线故障,才发现这个功能简直是汽车电子测试工程师的"时光机"。简单来说,CANoe的离…...
