Note: There is no need to install Jenkins on the slave machine.

  1. On your master machine go to Manage Jenkins > Manage Nodes.
  2. New Node --> Enter Node Name.
  3. Select Dumb Slave --> Press OK.
  4. Fill out the following:
    1. Set a number of executors (one or more) as needed.
    2. Set a Remote FS Root, a home directory for the master on the slave machine.
      1. For a Windows slave, use something like: "C:\Jenkins\"
      2. TODO: add details.
    3. Select the appropriate Usage setting:
      1. For an additional worker: Utilize this slave as much as possible
      2. For specialized jobs: Leave this machine for tied jobs only
    4. Launch Method:
      1. An easy way to control a Windows slave is by using Launch slave agents via Java Web Start  (Recommended for Windows)
      2. TODO: add steps for other methods.
    5. Availability --> Keep this slave online as much as possible
      1. TODO: add details for each option.
    6. Press OK.
  5. Now you need to connect your slave machine to the master using the following steps.
    1. Open a browser on the slave machine and go to the Jenkins master server url (http://yourjenkinsmaster:8080).
    2. Go to Manage Jenkins > Manage Nodes, Click on the newly created slave machine. You will need to login as someone that has the "Connect" Slave permission if you have configured global security.
    3. Click on the Launch button to launch agent from browser on slave.
    4. Run the program.
      ### If you encounter connection issue, then you could enlarge the popup windows to see the master port used and check your network configuration (firewall, port forward, ...)
    5. Now you should see the Slave machine connected under Nodes.
  6. If you want the service to run on start-up of the slave machine do the following (Windows only directions):
    1. In the Slave agent program running on your slave machine,
    2. click File --> Install as Windows Service. 

      Note that this feature requires ".Net Framework 3.5"
    3. Start, type Services and Select the Services program.
    4. Find Jenkins Slave in the list, Double click to open.
    5. Select Startup type --> Automatic.
    6. Go to the Log On tab, change the Log on as to a user of your choice (Special user account Jenkins recommended).
    7. Make sure that auto login is set for the slave machine for the user account, then the VM (or physical computer) should connect and be available when needed.

Also: take a look at Distributed builds

https://wiki.jenkins-ci.org/display/JENKINS/Step+by+step+guide+to+set+up+master+and+slave+machines+on+Windows

slave节点机器配置

  • 创建jenkins用户

用root用户登录slave节点,首先创建jenkins用户,并指定主目录

$ useradd -m jenkins -d /home/jenkins

查看jenkins用户及组的信息

$ id jenkins
uid=500(jenkins) gid=500(jenkins) 组=500(jenkins)

再修改jenkins密码,若不修改是未知的

$ passwd jenkins

再切换到jenkins用户,确保jdk已安装

$ su - jenkins

同时确保slave已安装jdk

$ java -version

且sshd正确运行

$ service --status-all | grep ssh
  • 创建公钥私钥,实现免用户密码登录

使用jenkins用户登录到jenkins master机器

使用jenkins用户登录时若发现连接失败(lost connection),可以先用root用户登录,打开/etc/passwd,找到

jenkins:x:498:499:Jenkins Continuous Integration Server:/var/lib/jenkins:/bin/false

将最后的/bin/false改为/bin/bash,便可以登录。记得使用完改回去,猜测是安全限制。

jenkins用户登录后执行以下命令,生成公私钥

$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): /var/lib/jenkins/.ssh/id_rsa

将公钥和私钥保存到jenkins主目录下,注意确保.ssh目录和id_rsa都是jenkins用户所拥有或者有可读写权限

然后会要求输入passphrase(密码),这里还是不设置,直接两次enter

进入/var/lib/jenkins/.ssh,使用scp命令将生成的公钥id_rsa.pub拷贝到各个slave节点,并命名为authorized_keys

$ scp id_rsa jenkins@xxx.xxx.xxx.xxx:~/.ssh/authorized_keys

同时要修改authorized_keys的权限,

$ chmod 700 authorized_keys

Jenkins控制台slave配置

回到jenkins控制台,打开以下页面,添加credentials,以下配置页面是添加slave的jenkins用户密码

另一种ssh免密码登录配置(基于公开密钥的认证),可指定jenkins master私钥的路径或者选择第三个From the Jenkins master ~./ssh,我们选择/var/lib/jenkins/.ssh/id_rsa,这是在上一节创建的私钥

创建slave

进入“系统管理>管理节点>新建节点”,输入节点名称,我已经建了一个节点,所以可以选择复制

进入配置页面,按要求填写,credentialsp这里选择用户密码登录,免密码登录需要指定一个属于它的id_rsa。

保存之后,点击Relaunch agent,启动节点

https://segmentfault.com/a/1190000008369457

作为slave的Linux机器为centos系统。

1) Linux 的 Slave机器设置

创建jenkins用户sudo /usr/sbin/useradd -m jenkins -d /home/jenkins;

查看jenkins用户及组的信息id jenkins :

uid=506(jenkins) gid=506(jenkins) groups=506(jenkins) ;

使用sudo /usr/bin/passwd jenkins来设置用户jenkins的密码为0;

切换到用户jenkins环境下su - jenkins;

确保java安装正确:java --version;

确保sshd正确运行: /sbin/service --status-all | grep ssh;

安装ant,在root下运行yum install ant;

2) 在Slave的linux机器上创建public/private key pair:

确保当前用户为jenkins;

执行ssh-keygen来创建public/private key pair,直接enter,表示key将存储在/home/jenkins/.ssh/id_rsa下,再直接enter,表示不设置密码,再次enter确认密码为空;

创建authorized_keys:

cd .ssh

cat id_rsa.pub > authorized_keys

chmod 700 authorized_keys

;

将id_rsa(相当于privatekey)拷贝到jenkins master机器上,例如c:\jenkins\id_rsa下。

3)创建Slave(note),配置如下:

确保jenkins 中ssh slave plugin正确安装,一般默认安装。

然后lunch slave,使得master和slave通过ssh成功连接。其实launch的时候jenkins自动地从http://yourserver:port/jnlpJars/slave.jar拷贝slave.jar到slave,然后运行通过命令java -jar slave.jar来运行slave。

4)在新建的Linux的Slave上运行上节中的JavaHelloWorld(Jenkins 构建JavaHelloWorld),且需要修改JavaHelloWorld job的Label为JavaHelloWorldLinux来使用此slave,运行如下:

完!

http://www.cnblogs.com/itech/archive/2011/11/10/2244690.html

Step by step guide to set up master and slave machines on Windows的更多相关文章

  1. Step by step guide to set up master and slave machines(转)

    Note: There is no need to install Jenkins on the slave machine. On your master machine go to Manage ...

  2. Tomcat Clustering - A Step By Step Guide --转载

    Tomcat Clustering - A Step By Step Guide Apache Tomcat is a great performer on its own, but if you'r ...

  3. Step by Step use OBD2 Scanner Guide

    Learning to use a good automotive OBD2 code reader is one of the best ways you can continually inves ...

  4. Step by step Dynamics CRM 2011升级到Dynamics CRM 2013

    原创地址:http://www.cnblogs.com/jfzhu/p/4018153.html 转载请注明出处 (一)检查Customizations 从2011升级到2013有一些legacy f ...

  5. [转]Bootstrap 3.0.0 with ASP.NET Web Forms – Step by Step – Without NuGet Package

    本文转自:http://www.mytecbits.com/microsoft/dot-net/bootstrap-3-0-0-with-asp-net-web-forms In my earlier ...

  6. Devops step by step

    接着上次分享的devops历程[Followme Devops实践之路], 大家希望能够出一个step by step手册, 那今天我就来和手把手来一起搭建这么一套环境, 演示整个过程! 实验环境需要 ...

  7. PyTorch in Action: A Step by Step Tutorial

    PyTorch in Action: A Step by Step Tutorial   PyTorch in Action: A Step by Step Tutorial Installation ...

  8. Git Step by Step – (8) Git的merge和rebase

    前面一篇文章中提到了"git pull"等价于"git fetch"加上"git merge",然后还提到了pull命令支持rebase模式 ...

  9. Step by Step Process of Migrating non-CDBs and PDBs Using ASM for File Storage (Doc ID 1576755.1)

    Step by Step Process of Migrating non-CDBs and PDBs Using ASM for File Storage (Doc ID 1576755.1) AP ...

随机推荐

  1. Android群英传笔记——第三章:Android控件架构与自定义控件讲解

    Android群英传笔记--第三章:Android控件架构与自定义控件讲解 真的很久没有更新博客了,三四天了吧,搬家干嘛的,心累,事件又很紧,抽时间把第三章大致的看完了,当然,我还是有一点View的基 ...

  2. C语言实现printf的基本格式输出%d,%c,%p,%s

    关于printf的实现,想必看过我之前发表的文章的伙伴们已经了解了不少基本的知识.好了,接下来不多说了,直接上源码,看看一种简单的实现方式: #include <stdio.h> #def ...

  3. 关于java和c++中布尔量的比较

    在c++中允许 bool 量和 int 整形常量相互转换,并且用cout<<true; 在控制台上可以输出为 1 int main(int argc, _TCHAR* argv[]) { ...

  4. onload="fixImage(this, 200, 200)"

    function fixImage(img, w, h) { var newImg = new Image(); //获得图片的原始尺寸 newImg.src = img.src; var lh; / ...

  5. 80端口被NT kernel & System 占用

    新年后正常上班的第一天,客户报告,虚拟机上的网站起不来了. 登录虚拟机的远程桌面,闪几下连接信息,后面就没了,不显示远程桌面.联系虚拟机管理,重启,远程桌面是连上了,网站还是起不来. 查看window ...

  6. JTA 分布式事务

    什么是JTA - 2009-07-25 18:31:06|  分类: 技术文章|举报|字号 订阅     什么是JTA? Java Transaction API(Java事务API) (JTA)Ja ...

  7. Day12 前端html

    前端基础之HTML 老师博客: http://www.cnblogs.com/yuanchenqi/articles/6835654.html http://www.cnblogs.com/yuanc ...

  8. 从has no method 'tmpl'谈起

    最近做一个相对比较功能专业化的应用系统,其中今天Leader提出的功能修改需求有点smart table的意思,其中有个界面修改由于用Dom操作太麻烦了,于是想用用很久之前在学习jQuery API中 ...

  9. es6(一):es6介绍以及let,const

    es是js的规范,而js是具体实现 将es6转化为es5代码工具:运用的多的是babel 在线转换地址:babel,traceur(属于谷歌)   1.let申明变量:let其实可以完全取代var,并 ...

  10. 初探Apache Beam

    文章作者:luxianghao 文章来源:http://www.cnblogs.com/luxianghao/p/9010748.html  转载请注明,谢谢合作. 免责声明:文章内容仅代表个人观点, ...