当前位置: 首页 > news >正文

为 Jenkins添加 Windows Slave远程执行 python项目脚本

测试环境

JAVA JDK 1.7.0_13 (jdk-7u13-windows-i586.exe)

Jenkins

Win11 64

python项目环境

实践操作

1、新建与配置结点

【系统管理】-> 【管理结点】-> 【新建结点】,

如上,输入结点名称,勾选 【Dumb Slave】,点击【OK】

说明:根据官方文档,如果是添加 jenkins外部的主机,虚拟机器等似乎要添加。

按如上配置

说明:

Name:

定义 slave的唯一名称标识,可以是任意字符串,通常设置为 slave主机名、ip地址

描述:

关于 slave的描述,通常用于描述与其它 salve的区别

# of executors:

来自官方描述:这个值控制着 Jenkins并发构建的数量. 因此这个值会影响 Jenkins系统的负

载压力. 使用处理器个数作为其值会是比较好的选择。

增大这个值会使每个构建的运行时间更长,但是这能够增大整体的构建数量,因为当一个项目在

等待 I/O时它允许 CPU去构建另一个项目。

设置这个值为 0对于从 Jenkins移除一个失效的从节点非常有用,并且不会丢失配置信息

远程工作目录:

指定 slave的工作目录路径。最好设置为绝对路径,如“/var/jenkins”或“c:\jenkins”。这

里填写的是相对于 slave主机的路径,正常情况下,不必对 master主机可见。

标签:

标记(又叫做标签),用来对多节点分组,标记之间用空格分隔.例如'refression java6'将会

把一个节点标记上'regression'和'java6'。

举例来说,如果你有多个 Windows系统的构建节点并且你的 Job也需要在 Windows系统上运行,

那么你可以配置所有的 Windows系统节点都标记为'windows', 然后把 Job也标记为

'windows'.这样的话你的 Job就不会运行在除了 Windows节点以外的其它节点之上了.

用法:

控制 Jenkins如何在这台机器上安排构建.

1)尽可能的使用这个节点

这是默认和常用的设置. 在这种模式下,Jenkins会尽可能的使用这个节点.任何时候如果一个

构建能使用这个节点构建,那么 Jenkins就会使用它.

2)只允许运行绑定到这台机器的 Job

这种模式下,Jenkins只会构建哪些分配到这台机器的 Job. 这允许一个节点专门保留给某种类

型的 Job.例如,在 Jenkins上连续的执行测试,你可以设置执行者数量为 1,那么同一时间就只

会有一个构建, 一个实行者不会阻止其它构建,其它构建会在另外的节点运行.

启动方法:

控制 Jenkins怎么启动 slave

1) Launch slave agents on Unix machines via SSH

通过 SSH连接,发送命令来启动 slave。需要提供可以登陆 slave主机的帐号,可以不具备 root

权限。

2)Launch slave agents via Java Web Start

通过 JNLP启动一个代理程序启动 slave。这种情况下,启动是由 slave初始化的,所以主机不

一定要 ip可达(比如隔着一层防火墙)[ The launch in this case is initiated by the

slave, thus slaves need not be IP reachable from the master (e.g. behind the

firewall.)]

3)Launch slave via execution of command on the Master

通融个从 master上执行一个命令来启动启动 slave。当 master可以在 salve上远程执行一个

进程,比如通过 ssh/rsh,可以使用这个。

4)Let Jenkins control this Windows slave as a Windows service

不推荐。往往问题多多

Availability:

控制 jekins何时启动或停止 slave。

1)Keep this slave on-line as much as possible

默认和常规设置。这种模式下,jenkins会尽量保持 salve在线。如果不通过用户援助,启动

slave,如果 slave不可获取,jenkins将周期性的尝试启动 slave。Jenkins不会主动让 slave

下线。

2)Take this slave on-line when in demand and off-line when idle

在这种情况下,jenkins可在没有用户援助的情况下启动 slave,当遇到满足以下条件的不可

执行任务时,jenkins将周期性的尝试启动 slave:

>在队列中等待时间已达指定启动时间( startup demand period).

>可在 slave上执行

slave将被下线,如果:

>slave上没有活动任务在执行

>slave处于空闲状态时间已达到指定的空闲时间(specified idle period)。

In demand delay:告诉 Jenkins如果有 Job需要在此节点构建,需要在任务队列等待多长时

间才会进入任务状态进行构建

Idle delay:告诉 Jenkins多少分钟内如果没有 Job需要构建就离线

配置完后,查看 Slave状态如下:

2Slave主机配置

1)安装 Java JDK 并配置

2)进入命令行,输入上述提示

C:\Users\Administrator>javaws

http://192.168.30.79:8080/jenkins/computer/192.168.30.174/slave-agent.jnlp

C:\Users\Administrator>

如上,成功了,可以关闭提示框了

3)查看结点状态,如下,OK了

3、新建任务

1.如下,选择【构建一个自由风格的软件项目】

2、如下,根据需要自由配置

保存

3、执行构建

构建时,会自动执行远程主机(192.168.30.174)上的 python项目脚本

相关文章:

为 Jenkins添加 Windows Slave远程执行 python项目脚本

测试环境 JAVA JDK 1.7.0_13 (jdk-7u13-windows-i586.exe) Jenkins Win11 64 python项目环境 实践操作 1、新建与配置结点 【系统管理】-> 【管理结点】-> 【新建结点】, 如上,输入结点名称,勾选 【Dumb Slave】,点击【OK】 说明&am…...

深入解析Spring Boot与Redis的缓存集成实践

深入解析Spring Boot与Redis的缓存集成实践 引言 在现代Web应用中,缓存技术是提升系统性能的重要手段之一。Redis作为一种高性能的内存数据库,广泛应用于缓存场景。本文将详细介绍如何在Spring Boot项目中集成Redis,并探讨其在实际开发中的…...

硬件工程师笔记——三极管Multisim电路仿真实验汇总

目录 1 三极管基础 更多电子器件基础知识汇总链接 1.1 工作原理 NPN型三极管的工作原理 PNP型三极管的工作原理 1.2 三极管的特性曲线 输入特性曲线 理想和现实输出特性 三极管的主要参数包括: 2 三极管伏安特性 2.1 伏安特性仿真 Multisim使用说明链接…...

基于 ABP vNext + CQRS + MediatR 构建高可用与高性能微服务系统:从架构设计到落地实战

🧠 基于 ABP vNext CQRS MediatR 构建高可用与高性能微服务系统:从架构设计到落地实战 目录 🧠 基于 ABP vNext CQRS MediatR 构建高可用与高性能微服务系统:从架构设计到落地实战🧰 模块结构概览📦 各…...

java云原生实战之graalvm 环境安装

windows环境安装 在Windows环境下安装GraalVM并启用原生镜像功能时,需要Visual Studio的组件支持。具体要点如下: 核心依赖: 需要安装Visual Studio 2022或更新版本,并确保勾选以下组件: "使用C的桌面开发"…...

Python 包管理工具uv依赖分组概念解析

在 Python 包管理工具 uv 中,依赖分组(如 dev、prod)是一种将项目的不同依赖按用途分类管理的机制。通过分组,开发者可以清晰地分离生产环境(运行项目所需的核心依赖)和开发环境(仅在开发阶段使…...

C语言-9.指针

9.1指针 9.1-1取地址运算:&运算符取得变量的地址 运算符& scanf(“%d”,&i);里的&获取变量的地址,它们操作数必须是变量int i;printf(“%x”,&i);地址的大小是否与int相同取决于编译器int i;printf(“%p”,&i); &不能取的地址不能对没有地址的…...

GitHub 自动认证教程

## 简介 在使用 GitHub 时,为了避免每次提交代码都需要输入用户名和密码,我们可以使用 SSH 密钥进行自动认证。本教程将详细介绍如何设置 SSH 密钥并配置 GitHub 自动认证。 ## 步骤一:检查现有 SSH 密钥 首先,检查您的电脑是否…...

labelme的安装与使用(以关键点检测为例)、labelme格式标签转换

注:labelme 和 labelImg 是两款不同的数据标注工具。labelme 的 Github 官方地址: https://github.com/wkentaro/labelmehttps://github.com/wkentaro/labelme 参考笔记: Labelme标注工具安装及使用_labelme安装及使用教程-CSDN博客 学习视…...

【Git】远程操作

Git 是一个分布式版本控制系统 可以简单理解为,每个人的电脑上都是一个完整的版本库,这样在工作时,就不需要联网 了,因为版本库就在自己的电脑上。 因此, 多个人协作的方式,譬如说甲在自己的电脑上改了文件…...

密码学实验

密码学实验二 一、实验目的(本次实验所涉及并要求掌握的知识点) 掌握RSA算法的基本原理并根据给出的RSA算法简单的实现代码源程序,以及能够使用RSA对文件进行加密。掌握素性测试的基本原理,并且会使用Python进行简单的素性测试以及初步理解…...

nettrace工具介绍

简介 仓库地址: https://github.com/OpenCloudOS/nettrace 背景: 在云原生场景中,linux系统中的网络部署变得越来越复杂,一个tcp连接,从客户端到服务器,中间可能要经过复杂的NAT、GRE、IPVS等过程&#x…...

Jenkins+Docker+Harbor快速部署Spring Boot项目详解

JenkinsDockerHarbor快速部署Spring Boot项目详解 Jenkins、Docker和Harbor是现代DevOps流程中的核心工具,结合使用可以实现自动化构建、测试和部署。下面我将详细介绍如何搭建这个集成环境。 一、各工具的核心作用 Jenkins 自动化CI/CD工具,负责拉取代…...

Windows 安装Anaconda

一、下载Anaconda 1.阿里云镜像: https://developer.aliyun.com/mirror/ 2.中科大镜像: https://mirrors.ustc.edu.cn/ 二、配置环境变量 Windows‌: 1.右键“此电脑” → “属性” → “高级系统设置” → “环境变量”25&#xff1b…...

《微机原理与接口技术》第 8 章 常用接口芯片

8.1 可编程定时/计数器8253/8254 8.1.1 8253的外部引脚及内部结构 8.1.2 8253的工作方式 8.1.3 8253的方式控制字和读/写操作 8.1.4 8253的初始化编程及应用 8.1.5 可编程定时/计数器8254 …… 8.2 可编程并行接口8255 8.2.1 并行通信的概念 (1&#xff09…...

upload-labs靶场通关详解:第12-13关

目录 第12关:get00截断 一、分析源代码 二、解题思路 三、解题步骤 第13关:post00截断 一、分析源代码 二、解题思路 三、解题步骤 第12关:get00截断 一、分析源代码 $is_upload false; $msg null; if(isset($_POST[submit])){$ex…...

YOLO模型初次训练体验(+实测)

1.训练目的 做一个简单的示例,本次训练的目的希望模型能够识别桌面的两个图标。(主要是方便准备数据) 2.数据准备 安装一个截图软件,在桌面不同分辨率,不同背景的情况下,随机调整两个图标的位置并截图保存。 原始图片: 先为截图批量重命名: 使用重命名工具,设置命…...

OSA实战笔记二

本文是我在实际项目开发中,总结和归纳的笔记,主要记录了OSA常用的参数释义。 OSA的Params 1、Scroll Sensivity 对⿏标滚轮(或类似)输⼊的敏感度,与通过滚动条拖动或滚动⽆关。 2、Scroll Sensivity On X Axis 对…...

OSI 网络七层模型中的物理层、数据链路层、网络层

一、OSI 七层模型 物理层、数据链路层、网络层、传输层、会话层、表示层、应用层 1. 物理层(Physical Layer) 功能:传输原始的比特流(0和1),通过物理介质(如电缆、光纤、无线电波)…...

如何自学FPGA设计?

众所周知,FPGA设计自学难度不小,更不存在速成的捷径。这里简单说一下学习的规划,希望能给入门者提供一些方向。 学会相应的知识 不论是科班毕业还是理工科专业出身,想要入行FPGA开发,基础知识必须扎实。尤其是在高校…...

leetcode 合并区间 java

用 ArrayList<int[]> merged new ArrayList<>();来定义数组的list将数组进行排序 Arrays.sort(intervals,(a,b) -> Integer.compare(a[0],b[0]));如果前面的末尾>后面的初始&#xff0c;那么新的currentInterval的末尾这两个数组末尾的最大值&#xff0c;即…...

如何将内网的IP地址映射到外网?常见方法及详细步骤

自己计算机搭建网络端口服务&#xff0c;或公司内部本地服务器部署项目后&#xff0c;如果同时需要提供异地互联网上连接使用&#xff0c;就需要将内网IP地址映射到外网上。 将本地网络的内网 IP 地址映射到外网&#xff0c;通常是为了允许外部网络访问内网中的特定服务&#…...

Node.js AI 通义灵码 VSCode 插件安装与功能详解

Node.js 作为基于 Chrome V8 引擎的 JavaScript 运行时&#xff0c;使 JavaScript 成为后端开发的重要选择。 在 Node.js 开发中&#xff0c;使用高效的工具可以显著提升开发效率和代码质量。 通义灵码作为一款智能编码助手&#xff0c;为 Node.js 开发者提供了强大的支持。 …...

Linux中的 I/O 复用机制 select

第一部分&#xff1a;select 基本概念 1.1. I/O 复用的提出&#xff1a;并发处理的挑战 在传统的网络服务模型中&#xff0c;服务器为每一个客户端连接创建一个独立的线程或者进程来处理。这种模式在并发连接数量较少时或许尚能应对&#xff0c;但当并发量显著增大时&#xf…...

再议AOI算法

AOI算法优化 首先&#xff0c;需要知道AOI&#xff08;Area of Interest&#xff09;是什么。AOI通常用于游戏或者分布式系统中&#xff0c;用来管理玩家或对象的视野范围&#xff0c;只关注感兴趣区域内的其他对象&#xff0c;减少不必要的通信和数据传输。 整理思路 如文章…...

Unreal5 从入门到精通之如何实现 离线语音识别

文章目录 前言将语言服务器作为外部进程运行UE 项目设置开始捕获语音同时运行服务器进程和游戏进程将 SoundWave 而不是麦克风作为输入将数据发送到语言服务器节点的工作原理详细文档前言 今天我们要说的是一个语音转文本(STT)的插件 Offline Speech Recognition, 它支持离线…...

form-create-designer中$inject参数的数据结构及各项属性说明

FcDesigner 是一款基于Vue的开源低代码可视化表单设计器工具&#xff0c;通过数据驱动表单渲染。可以通过拖拽的方式快速创建表单&#xff0c;提高开发者对表单的开发效率&#xff0c;节省开发者的时间。并广泛应用于在政务系统、OA系统、ERP系统、电商系统、流程管理等领域。 …...

WHAT - CSS 中的 min-height

文章目录 语法常见用途1. 防止元素被压缩得太小2. 配合 Flexbox 保证高度3. 用于内容区域动态撑高但不塌陷 与其他属性的区别提示 在 WHAT - CSS 中的 min-width 中我们已经详细介绍过 width。对于高度&#xff0c; CSS 同样提供一个 min-height. min-height 是 CSS 中用于设置…...

畅游Diffusion数字人(30):情绪化数字人视频生成

畅游Diffusion数字人(0)&#xff1a;专栏文章导航 前言&#xff1a;仅从音频生成此类运动极具挑战性&#xff0c;因为它在音频和运动之间存在一对多的相关性。运动视频的情绪是多元化的选择&#xff0c;之前的工作很少考虑情绪化的数字人生成。今天解读一个最新的工作FLOAT&…...

PLC系统中开关量与模拟量信号解析

引言 在现代工业自动化进程中&#xff0c;可编程逻辑控制器&#xff08;PLC&#xff09;凭借其强大的功能与灵活性&#xff0c;成为工业控制系统的核心设备。PLC能够高效、精准地控制工业生产流程&#xff0c;很大程度上依赖于其对开关量和模拟量信号的处理能力。深入理解这两…...

Qt中解决Tcp粘包问题

Qt中解决Tcp粘包问题 Qt中解决Tcp粘包问题——以文件发送为例服务器端客户端效果演示注意点 Qt中解决Tcp粘包问题——以文件发送为例 创建的工程如下图所示&#xff1a; 服务器端 界面的布局以及名称如下图所示&#xff1a; 并且在Qt中增加网络模块 QT core gui n…...

Qt调用librdkafka

Qt调用librdkafka Windows系统编译Qt使用的kafka(librdkafka) VS2017编译librdkafka 2.1.0 经过上面的步骤我已经编译好了librdkafka库,我编译的主要十release版的,需要debug版的小伙伴编译的时候要留意一下。 接下来就是调用我们编译的kafka库了。 一、环境介绍 Qt:…...

深入解析Node.js文件系统(fs模块):从基础到进阶实践

文章目录 引言一、核心能力解析1.文件读写操作2.文件复制方案对比3.文件监控机制 二、扩展知识体系1.高级文件操作2.性能优化策略3.安全实践指南 三、最佳实践总结 引言 在 Node.js 生态系统中&#xff0c;fs 模块是与文件系统交互的核心工具。本文将通过代码示例和实践经验&a…...

9、AI测试辅助-代码Bug分析提示词优化

AI测试辅助-优化代码Bug分析提示词 Bug分析1、优化代码2、根据报错结果定位 Bug分析 利用AI优化代码Bug&#xff0c;有两种方式&#xff0c;一种是优化潜在的问题&#xff0c;一种是根据执行后的报错进行查找定位优化。其中如何用好提示词是关键 1、优化代码 常见需要优化的…...

AI无法解决的Bug系列(一)跨时区日期过滤问题

跨时区开发中&#xff0c;React Native如何处理新西兰的日期过滤问题 有些Bug&#xff0c;不是你写错代码&#xff0c;而是现实太魔幻。 比如我最近给新西兰客户开发一个React Native应用&#xff0c;功能非常朴素&#xff1a;用户选一个日期范围&#xff0c;系统返回该范围内…...

leetcode 153. Find Minimum in Rotated Sorted Array

题目描述 分析 可以发现一个规律&#xff1a; 假如整个数组最后一个元素是x。 最小值左侧&#xff08;不含最小值自己&#xff09;的元素全部大于x。 最小值右侧&#xff08;包含最小值自己&#xff0c;不包含x&#xff09;的元素全部小于x。 如果整个数组是有序的&#x…...

Brave 连接 Websocket 失败

前提: websocket 的服务启动正常连接的url是: ws://localhost: 15000/[子url] 在 Brave 浏览器的 console 中看到错误: WebSocket connection to ws://localhost:15000/ws failed:解决方法&#xff08;Brave 浏览器专用&#xff09; 方法 1&#xff1a;关闭 Brave 的 Shiel…...

【设计模式】基于 Java 语言实现工厂模式

目录 一、简单工厂模式 1.1 简单工厂模式的介绍 二、工厂方法模式 2.1 工厂方法模式的介绍 2.2 工厂方法模式的基本实现 2.3 工厂方法模式的应用场景 三、抽象工厂 3.1 抽象工厂的概念 3.2 抽象工厂的基本结构 3.3 抽象工厂的基本实现 3.4 抽象工厂的应用场景 四、…...

94.LabelGrid 的遍历与属性编辑 Maui例子 C#例子

for (int i 0; i < LabelGrid.Children.Count; i) {if (LabelGrid.Children[i] is Label label){await MainThread.InvokeOnMainThreadAsync(() >{label.TextColor Colors.Gray;});} } await Task.Delay(1000); // 延迟1秒 if (currentValue 0) {currentValue 16; } …...

Https流式输出一次输出一大段,一卡一卡的-解决方案

【背景】 最近遇到一个奇怪的现象&#xff0c;前端vue&#xff0c;后端python&#xff0c;服务部署在服务器上面后&#xff0c;本来一切正常&#xff0c;但公司说要使用https访问&#xff0c;想着也没什么问题&#xff0c;切过去发现在没有更改任何代码的情况下&#xff0c;ht…...

【C# 自动化测试】Selenium显式等待机制详解

Selenium显式等待机制详解 一、显式等待的概念 在自动化测试中&#xff0c;等待机制是处理页面元素加载延迟的重要手段。显式等待允许我们在继续执行代码之前等待某个条件发生&#xff0c;这比固定的强制等待更灵活高效。 二、显式等待的实现代码 1. 核心等待方法 /// <…...

【Redis】哈希表结构

目录 1、背景2、哈希表【1】底层结构【2】哈希冲突【3】链地址法【4】传统rehash【5】渐进式rehash【6】rehash触发条件【7】特性 1、背景 redis中的hashtable&#xff08;哈希表&#xff09;是一种高效的键值对存储结构&#xff0c;主要用于实现redis的字典类型&#xff0c;接…...

Redisson中为什么用lua脚本不用事务

一文详解事务和lua脚本的区别 核心问题&#xff1a; 为什么 Redisson 在实现分布式锁、信号量等复杂对象时&#xff0c;倾向于使用 Lua 脚本&#xff0c;而不是 Redis 内建的事务 (MULTI/EXEC)&#xff1f; 结论概览&#xff1a; Lua 脚本为 Redisson 提供了更强的原子性保证、…...

成功解决!!!Ubuntu系统安装包时出现:dpkg: 处理归档XXX时出错

在Ubuntu系统中在安装新的包时&#xff0c;有时会报错连环依赖问题&#xff0c;常见的报错为&#xff1a;下列软件包有未满足的依赖关系&#xff1a;XXX依赖XXX 但是它不会被安装 E: 有未能满足的依赖关系。请尝试不指明软件包的名字来运行“apt --fix-broken install”(也可以…...

MySql数据库连接池

C数据库连接池 前言1.MySql API 函数讲解1.1 连接数据库的步骤1.2 MySQL C API1.2.1 初始化连接环境1.2.2 连接mysql服务器1.2.3 执行sql语句1.2.4 获取结果集1.2.5 得到结果集的列数1.2.6 获取表头 -> 列名(字段名)1.2.7 得到结果集中各个字段的长度(字节为单位)1.2.8 遍历…...

C++之fmt库介绍和使用(2)

C之fmt库介绍与使用(2) Author: Once Day Date: 2025年5月19日 一位热衷于Linux学习和开发的菜鸟&#xff0c;试图谱写一场冒险之旅&#xff0c;也许终点只是一场白日梦… 漫漫长路&#xff0c;有人对你微笑过嘛… 全系列文章可参考专栏: 源码分析_Once-Day的博客-CSDN博客 …...

Python的collections模块:数据结构的百宝箱

Python的collections模块&#xff1a;数据结构的百宝箱 对话实录 小白&#xff1a;处理数据时&#xff0c;Python自带的数据结构不够用&#xff0c;有更强大的工具吗&#xff1f; 专家&#xff1a;那可不能错过collections模块&#xff0c;它提供了许多高效实用的数据结构&am…...

吃透 Golang 基础:数据结构之数组

文章目录 吃透 Golang 基础&#xff1a;数据结构之数组概述初始化访问和赋值小结参考资料 吃透 Golang 基础&#xff1a;数据结构之数组 对于 Golang 当中的顺序数据结构&#xff0c;使用频率最高的当然是切片&#xff0c;因为切片非常的灵活。与之相对比&#xff0c;数组常常会…...

第三个小程序动工:一款结合ai的菜谱小程序

1.环境搭建&#xff0c;与初步运行 安装及使用 | Taro 文档 找到一个合适的文件夹&#xff0c;cmd D:\gitee>pnpm install -g tarojs/cli╭──────────────────────────────────────────╮│ …...

小程序涉及提供提供文本深度合成技术,请补充选择:深度合成-AI问答类目

一、问题描述 最近新项目AI咨询小程序审核上线&#xff0c;按照之前小程序的流程&#xff0c;之前审核&#xff0c;提示审核不通过&#xff0c;审核不通过的原因&#xff1a;小程序涉及提供提供文本深度合成技术 (如: AI问答) 等相关服务&#xff0c;请补充选择&#xff1a;深…...