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

 

by:授客 QQ1033553122

测试环境

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

下载地址:http://pan.baidu.com/s/1qXkJdvu

Jenkins

Win764未

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状态如下:



2
Slave主机配置

1)安装Java
JDK
并配置

不懂的参考连接:Java win7或 xp下配置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项目脚本

附pdf版下载地址:

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

Jenkins 为Jenkins添加Windows Slave远程执行python项目脚本的更多相关文章

  1. Windows命令远程执行工具Winexe

    Windows命令远程执行工具Winexe   在对Windows系统执行渗透测试中,通过各种方式可以获取目标主机的用户名和密码.这时,只要对方主机开启文件共享服务,就可以借助Winexe工具远程执行 ...

  2. Jenkins(3)拉取git仓库代码,执行python自动化脚本

    前言 python自动化的脚本开发完成后需提交到git代码仓库,接下来就是用Jenkins拉取代码去构建自动化代码了 新建项目 打开Jenkins新建一个自由风格的项目 源码管理 Repository ...

  3. Windows Shell远程执行代码漏洞((CVE-2018-8414)复现

    0x00   SettingContent-ms文件介绍 .SettingContent-ms是在Windows 10中引入的一种文件类型,它的内容是XML格式进行编写的,主要用于创建Windows设 ...

  4. 怎样在windows上定时执行python脚本

    作为一个需要在电脑上工作和学习的人,一件十分困扰我的事情就是怎样不受互联网中其他内容的干扰而专注于自己想要做的事情,有的时候真的是沉浸于微博上的消息,忘了自己本来想要做的事.不过我有一件神器,自己爱豆 ...

  5. expect脚本远程登录、远程执行命令和脚本传参简单用法

    expect介绍: 最近想写一个自动化安装脚本,涉及到远程登录.分发文件包.远程执行命令等,其中少不了来回输入登录密码,交互式输入命令等,这样就大大降低了效率,那么有什么方法能解决呢?不妨试试expe ...

  6. windows创建定时任务执行python脚本

    一.创建定时任务 \ [程序或脚本]文本框中填的是Python编译器的名称,一般就是python.exe, [起始于]文本框中填的是Python编译器的目录,上图中假设你的Python编译器的完整路径 ...

  7. Windows定时计划执行Python

    先看下定时执行的py文件 #coding:gbk from selenium import webdriver import time,os driver = webdriver.PhantomJS( ...

  8. windows 计划任务执行python脚本

    1.  查找并打开Windows计划任务 2. 创建任务 3. 输入名称 4. 通过触发器设置运行时间或周期 5. 通过操作,设置运行的脚本 a. 操作选择'启动程序' b. 程序或脚本选择 pyth ...

  9. 分发系统介绍 expect脚本远程登录 expect脚本远程执行命令 expect脚本传递参数

    expect脚本远程登录 yum install -y expect yum install -y tcl tclx tcl-devel 自动远程登录 #! /usr/bin/expect set h ...

随机推荐

  1. POJ 2410

    #include <iostream> #include <cmath> #include <string> using namespace std; int gi ...

  2. Mxonline3.6 在阿里云服务器上的部署(uwsgi nginx)

    我的项目结构 1. 执行`python manage.py migrate`命令,将迁移文件,映射到数据库中,创建相应的表. 进入数据库 use mxonline数据库     source /hom ...

  3. vue教程2-05 v-for循环 重复数据无法添加问题 加track-by='索引'

    vue教程2-05 v-for循环 重复数据无法添加问题  加track-by='索引' 解决问题的代码示例: <!DOCTYPE html> <html lang="en ...

  4. 解析BroadcastReceiver之你需要了解的一些东东

    前些天把四大组件之一的Service扯了一遍,今天就要开始谈谈它的弟兄BroadcastReceiver了.写到这里我挺纠结的,因为广播接收者确实比较简单,但是各位就不要以为简单的就不内涵,也许我们慢 ...

  5. 【Java初探实例篇01】——Java语言基础

    示例系列,将对每节知识辅以实际代码示例,通过代码实际编写,来深入学习和巩固学习的知识点. IDE:intellij IDEA: 语言:Java 本次示例:Java语言基础知识的应用. 创建包day_4 ...

  6. windows平台安装php_memcache模块

    要求 必备知识 熟悉基本编程环境搭建. 运行环境 windows 7(64位);php-5.3; memcached-1.2.6 下载地址 环境下载 什么是PHP Memcache模块 Memcach ...

  7. java中 immutable,future,nio

    什么是Future? 用过Java并发包的朋友或许对Future (interface) 已经比较熟悉了,其实Future 本身是一种被广泛运用的并发设计模式,可在很大程度上简化需要数据流同步的并发应 ...

  8. js的轮播效果

    图片的轮播效果!主要运用了元素的style样式属性,与 setInterval(); <!DOCTYPE html> <html> <head lang="en ...

  9. k-近邻算法(KNN)

    最近邻算法可以说是最简单的分类算法,其思想是将被预测的项归类为和它最相近的项相同的类.我们通过简单的计算比较即将被预测的项与已有训练集中各项的距离(差距),选择其中差距最小的一项,该项的类别即为我们即 ...

  10. Spring事务传播属性介绍(二).mandatory、not_supported、never、supports

    Required.Required_New传播属性分析传送门:https://www.cnblogs.com/lvbinbin2yujie/p/10259897.html Nested传播属性分析传送 ...