专栏首页授客的专栏Jenkins 为Jenkins添加Windows Slave远程执行python项目脚本

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

测试环境

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • springboot validation参数校验

    其中在spring-boot-starter-web中有hibernate-validater的依赖。

    开发架构二三事
  • 数据分析 ——— pandas可视化(六)

    这篇文章我们进行pandas可视化化的操作, 在这里我只是简单画几个图,表面pandas也是可以用来画图的,后期会在更新matlab等数据可视化的python库...

    andrew_a
  • 禁用feign retryer

    为什么要禁用retryer?其实主要是为了Debug,禁用feign retryer有两面性,追妹子一定要retry!!!如果接口做好幂等性,retry不影响,...

    只喝牛奶的杀手
  • 按键精灵——脚本日志

    初入按键精灵,无非写个简单的模拟键盘鼠标操作,要写个运行日志,记录敲了哪个键盘几下,鼠标左右键各多少下吗?

    Ed_Frey
  • shiro整合swagger需要注意的点

    重新打开shiro,运行,swagger2页面访问正常,但是程序日志输出依然有权限访问出错

    开发架构二三事
  • 浅谈Mybatis连接原理

    众所周知数据库连接的过程,但是最近面试的人(菜面菜),都说用的SSM框架,但是我问了一下,mybatis是怎么连接上mysql的,基本上都会说:配置好的,直接用...

    只喝牛奶的杀手
  • 日志系统

    上一篇说了一下《解决问题的一般套路》,里面讲到了日志系统的重要性,日志重要吗?监控重要吗?of course!日志就是要能找到用户做了什么请求那个...

    只喝牛奶的杀手
  • Java战争的回忆,请善待Java

    本文来自微信公众号:金捷幡(ID:jin-jiefan),作者:金捷幡,封面:拉里·埃里森(东方IC)

    奋斗蒙
  • 面试杂谈 - CPU占用高如何排查

    acupt
  • swagger 2.0对oauth2 token权限问题的解决

    4. 访问http://localhost:8080/api/swagger-ui.html

    开发架构二三事

扫码关注云+社区

领取腾讯云代金券