以下是关于如何在jenkins中添加windows slave并远程执行python项目脚本的详细指南:
测试环境
-
JAVA JDK 1.7.0_13 (jdk-7u13-windows-i586.exe)
- 下载地址:http://pan.baidu.com/s/1qXkJdvu
-
Jenkins
- 适用于Win7 64位系统
-
Python项目环境
立即学习“Python免费学习笔记(深入)”;
实践操作
-
新建与配置结点
进入【系统管理】->【管理结点】->【新建结点】。
输入结点名称,勾选【Dumb Slave】,点击【OK】。
说明:根据官方文档,如果是添加Jenkins外部的主机或虚拟机器等,需要添加。
按上述配置进行设置:
- 名称:定义Slave的唯一名称标识,可以是任意字符串,通常设置为Slave主机名或IP地址。
- 描述:关于Slave的描述,通常用于描述与其他Slave的区别。
- # of executors:来自官方描述:这个值控制Jenkins并发构建的数量。因此,这个值会影响Jenkins系统的负载压力。使用处理器个数作为其值会是比较好的选择。增大这个值会使每个构建的运行时间更长,但这能够增大整体的构建数量,因为当一个项目在等待I/O时,它允许CPU去构建另一个项目。设置这个值为0对于从Jenkins移除一个失效的从节点非常有用,并且不会丢失配置信息。
- 远程工作目录:指定Slave的工作目录路径。最好设置为绝对路径,如“/var/jenkins”或“c:\jenkins”。这里填写的是相对于Slave主机的路径,正常情况下,不必对Master主机可见。
- 标签:标记(又叫做标签),用来对多节点分组,标记之间用空格分隔。例如’regression java6’将会把一个节点标记上’regression’和’java6’。举例来说,如果你有多个Windows系统的构建节点并且你的Job也需要在Windows系统上运行,那么你可以配置所有的Windows系统节点都标记为’windows’,然后把Job也标记为’windows’。这样的话你的Job就不会运行在除了Windows节点以外的其它节点之上了。
- 用法:控制Jenkins如何在这台机器上安排构建。
- 尽可能的使用这个节点:这是默认和常用的设置。在这种模式下,Jenkins会尽可能的使用这个节点。任何时候如果一个构建能使用这个节点构建,那么Jenkins就会使用它。
- 只允许运行绑定到这台机器的Job:这种模式下,Jenkins只会构建哪些分配到这台机器的Job。这允许一个节点专门保留给某种类型的Job。例如,在Jenkins上连续的执行测试,你可以设置执行者数量为1,那么同一时间就只会有一个构建,一个执行者不会阻止其它构建,其它构建会在另外的节点运行。
- 启动方法:控制Jenkins怎么启动Slave。
- Launch slave agents on Unix machines via SSH:通过SSH连接,发送命令来启动Slave。需要提供可以登陆Slave主机的帐号,可以不具备root权限。
- Launch slave agents via Java Web Start:通过JNLP启动一个代理程序启动Slave。这种情况下,启动是由Slave初始化的,所以主机不一定要IP可达(比如隔着一层防火墙)。
- Launch slave via execution of command on the Master:通过从Master上执行一个命令来启动Slave。当Master可以在Slave上远程执行一个进程,比如通过ssh/rsh,可以使用这个。
- Let Jenkins control this Windows slave as a Windows service:不推荐,往往问题多多。
- Availability:控制Jenkins何时启动或停止Slave。
- Keep this slave on-line as much as possible:默认和常规设置。这种模式下,Jenkins会尽量保持Slave在线。如果不通过用户援助,启动Slave,如果Slave不可获取,Jenkins将周期性的尝试启动Slave。Jenkins不会主动让Slave下线。
- 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状态如下:
-
Slave主机配置
-
安装Java JDK并配置:不懂的参考连接:Java win7或xp下配置JDK环境变量。
-
进入命令行,输入上述提示:
如上,成功了,可以关闭提示框。
-
查看结点状态,如下,OK了:
-
-
新建任务
-
如下,选择【构建一个自由风格的软件项目】:
-
如下,根据需要自由配置:
保存。
-
执行构建:
构建时,会自动执行远程主机(192.168.30.174)上的Python项目脚本。
-
附pdf版下载地址:
为Jenkins添加Windows Slave远程执行python项目脚本.pdf