在windows上创建jenkins slave

本文详细介绍了在Windows系统上配置Jenkins Slave过程中可能遇到的问题及解决方案,包括安装Java Web Start、SSH公钥配置、环境变量设置等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

  • http://www.cnblogs.com/itech/archive/2011/11/09/2243025.html
  • http://www.cnblogs.com/juddhu/archive/2013/07/18/3198191.html

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

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

http://stackoverflow.com/questions/6036462/running-java-gives-error-could-not-open-c-program-files-java-jre6-lib-amd64

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

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

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


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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值