Jenkins学习笔记(四) master/slave的初步认识
2013-08-06 17:32
501 查看
http://kurenai.elastos.org/2013/03/22/jenkins%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0%EF%BC%88%E5%9B%9B%EF%BC%89-masterslave%E7%9A%84%E5%88%9D%E6%AD%A5%E8%AE%A4%E8%AF%86/
在前面使用ant自动构建的helloworld的基础上,实现master把任务分发给slave
试验所用的三台机子(1台master:ubuntu,两台slave:分别为ubuntu、windows)
一、master上的环境设置:
1、 tomcat下部署的jenkins;
2、 gerrit代码审核服务器:(在本例中只用来充当源码仓库)
gerrit的端口可以自行设置更改,具体配置文件在GRRRIT_SITE/etc/gerrit.config
canonicalWebUrl=http://master_ip:8081 之前由于设置将此设置成127.0.0.1:8081导致只能在本地访问,给自己提个醒
3、 ant/java的安装配置,请设置好变量
二、slave上的环境设置:
1、 windows中安装cygwin,记得install ssh服务;
a) 在cygwin的shell中输入ssh-host-config
b) 全程yes
c) net start sshd;net stop sshd(用来关闭和开启ssh服务)
2、 安装git/安装java/安装ant(安装较为简单,自行网上查阅)
PS:
实验中出现被分配任务后无法调用本地ant,最终在jenkins master上选用使用指定版本的ant,则master会自动将需要的ant包下载到slave的指定工作空间下的tool目录,且自动调用。
将JAVA加入path中请使用完整的路径,不要用%JAVA_HOME%来简写;并且将JAVA_HOME/lib下的tools.jar、dt.jar拷贝到Program Files/Java/jre6/lib下。否则可能出现unable to locate tools.jar的错误。
3、 ubuntu slave的设置和master的基本一致。
#实验中出现安装jdk后Jenkins无法识别的情况,而且已经确认jdk的环境变量已经设置好。之后改装openjdk,让其自行设置(jdk6/jdk7自选):
sudo apt-get install openjdk-7-jdk
sudo apt-get install openjdk-6-jdk
sudo apt-get install ant
出现没法下载的情况时请使用 sudo apt-get update 来获得最新的软件包列表。
三、通过ssh实现远程访问(该方法实现sshd无密码登陆)
a) 生成密钥对:ssh-keygen –t rsa
b) 将id_rsa.pub加入到要访问机器的~/.ssh/authorized_keys
ssh-copy-id –i ~/.ssh/id_rsa.pub username@servername
之后就能使用ssh username@servername 无密码登陆
PS:/etc/ssh/sshd_config 中开启PubkeyAuthentication yes
若生成密钥时使用了密码,则在登陆时候仍需要密码,此时可以使用ssh-agent来帮忙。使用ssh-add将自己的密钥交给其管理,只要输入一次密码之后就能无密码登陆。
四、节点设置和任务分发
1、 在master上建立ubuntu slave 节点:
2、 在master上建立windows slave 节点:设置与上图相仿。
3、 修改helloworld工程设置,从而实现给slave分配任务:
4、之后build就可以了。
PS:Windows下使用指定ant version。(手动安装的ant不知为何没法被调用,依照下图使用指定版本ANT)
参考资料:
Jenkins Master/Slave架构:
http://www.cnblogs.com/itech/archive/2011/11/11/2245849.html
Jenkins的Linux的Slave的配置:
http://www.cnblogs.com/itech/archive/2011/11/10/2244690.html
Jenkins的Windows的Slave的配置:
http://www.cnblogs.com/itech/archive/2011/11/09/2243025.html
在前面使用ant自动构建的helloworld的基础上,实现master把任务分发给slave
试验所用的三台机子(1台master:ubuntu,两台slave:分别为ubuntu、windows)
一、master上的环境设置:
1、 tomcat下部署的jenkins;
2、 gerrit代码审核服务器:(在本例中只用来充当源码仓库)
gerrit的端口可以自行设置更改,具体配置文件在GRRRIT_SITE/etc/gerrit.config
canonicalWebUrl=http://master_ip:8081 之前由于设置将此设置成127.0.0.1:8081导致只能在本地访问,给自己提个醒
3、 ant/java的安装配置,请设置好变量
二、slave上的环境设置:
1、 windows中安装cygwin,记得install ssh服务;
a) 在cygwin的shell中输入ssh-host-config
b) 全程yes
c) net start sshd;net stop sshd(用来关闭和开启ssh服务)
2、 安装git/安装java/安装ant(安装较为简单,自行网上查阅)
PS:
实验中出现被分配任务后无法调用本地ant,最终在jenkins master上选用使用指定版本的ant,则master会自动将需要的ant包下载到slave的指定工作空间下的tool目录,且自动调用。
将JAVA加入path中请使用完整的路径,不要用%JAVA_HOME%来简写;并且将JAVA_HOME/lib下的tools.jar、dt.jar拷贝到Program Files/Java/jre6/lib下。否则可能出现unable to locate tools.jar的错误。
3、 ubuntu slave的设置和master的基本一致。
#实验中出现安装jdk后Jenkins无法识别的情况,而且已经确认jdk的环境变量已经设置好。之后改装openjdk,让其自行设置(jdk6/jdk7自选):
sudo apt-get install openjdk-7-jdk
sudo apt-get install openjdk-6-jdk
sudo apt-get install ant
出现没法下载的情况时请使用 sudo apt-get update 来获得最新的软件包列表。
三、通过ssh实现远程访问(该方法实现sshd无密码登陆)
a) 生成密钥对:ssh-keygen –t rsa
b) 将id_rsa.pub加入到要访问机器的~/.ssh/authorized_keys
ssh-copy-id –i ~/.ssh/id_rsa.pub username@servername
之后就能使用ssh username@servername 无密码登陆
PS:/etc/ssh/sshd_config 中开启PubkeyAuthentication yes
若生成密钥时使用了密码,则在登陆时候仍需要密码,此时可以使用ssh-agent来帮忙。使用ssh-add将自己的密钥交给其管理,只要输入一次密码之后就能无密码登陆。
四、节点设置和任务分发
1、 在master上建立ubuntu slave 节点:
2、 在master上建立windows slave 节点:设置与上图相仿。
3、 修改helloworld工程设置,从而实现给slave分配任务:
4、之后build就可以了。
PS:Windows下使用指定ant version。(手动安装的ant不知为何没法被调用,依照下图使用指定版本ANT)
参考资料:
Jenkins Master/Slave架构:
http://www.cnblogs.com/itech/archive/2011/11/11/2245849.html
Jenkins的Linux的Slave的配置:
http://www.cnblogs.com/itech/archive/2011/11/10/2244690.html
Jenkins的Windows的Slave的配置:
http://www.cnblogs.com/itech/archive/2011/11/09/2243025.html
相关文章推荐
- Jenkins学习笔记(三) master/slave的初步认识
- Java8学习笔记(一)-初步认识Lambda表达式
- redis 学习笔记(3)-master/slave(主/从模式)
- 基础学习笔记之opencv(23):OpenCV坐标体系的初步认识
- redis 学习笔记(3)-master/slave(主/从模式)
- Jenkins 学习笔记(一):我对 Jenkins 的宏观认识
- redis 学习笔记(3)-master/slave(主/从模式)
- Phython 学习笔记之——类的初步认识
- redis 学习笔记(3)-master/slave(主/从模式)
- 基础学习笔记之opencv(23):OpenCV坐标体系的初步认识
- PowerPC-MPC603e内核学习笔记之初步认识
- MySQL学习笔记--复制建立新Slave的方法:克隆Master\Slave
- 基础学习笔记之opencv(23):OpenCV坐标体系的初步认识
- 传智播客struts2学习笔记(一) struts2的初步认识及第一个struts应用
- 初步认识深度学习笔记(一)
- Qt学习笔记1:初步认识控件
- silverlight 学习笔记 (八):Prism中MEF的初步认识
- C++基础学习笔记----第十一课(类的静态成员、对象模型初步认识)
- 黑马程序员-5-Objective-C学习笔记(OC的初步认识)
- suricate学习笔记1--初步认识(转)