在windows上创建jenkins slave

以前都是在unix/linux系统上创建slave,,今天要在windows上也创建一个,所以记录一些自己遇到的问题。

关于windows上创建slave的基本方法可以百度出很多blog,比如:

在创建的过程中遇到了以下问题:

0. 我使用的windows系统是刚装好的,很多东西都没有。

由于习惯了linux系统,所以先安装cygwin。

1. windows上需要安装javaws。

由于windows上的slave一般推荐用java web start的方式来启动,所以需要javaws。

最新的java都捆绑了javaws,所以只要安装java就OK了。

2. 需要将自己的ssh的public key追加到git repo中的.ssh/authorized_keys2文件中。

3. 在本地用git clone能成功,但用jenkins就报错:

Cannot run program "git" (in directory "E:\xxxxx"): CreateProces error=2, The system cannot find the file specified.

这个错误是说在当前目录下找不到git命令,所以这是一个环境变量的问题。

本地git clone能成功是因为cygwin设置好了环境变量,但windows下并没有设置好。

所以要设置windows环境变量, 在path中加上git所在的目录: C:\cygwin\bin

4. 在jenkins中执行一个bat时,报错: \Java\jre1.8.0_31\bin"" was unexpected at this time.

这个错误是由于环境变量中路径包含了特殊字符(C:\Program Files (x86)\Java\jre1.8.0_31\bin ),导致解析是出错。

值得说明的是,我们手工在CMD中执行该bat不会报错,通过jenkins执行就会报错。

这个问题网上也有一些讨论:

https://issues.jenkins-ci.org/browse/JENKINS-11992

原因在于java path这个环境变量中包含了特殊字符:

通过Manage Jenkins –> Manage Nodes –> My Slave –> Systeminfo page可以查看。

网上提出了一些work around来解决这个问题,我采用的办法是重装java到C:\Java\jre1.8.0_31,这样就避免了特殊字符的问题。

解决了上述问题后,就可以在jenknis上启动windows上的slave来进行build了。

孤独是一种无奈的选择,孤独是因为没有找到合适的同行者,

在windows上创建jenkins slave

相关文章:

你感兴趣的文章:

标签云: