通过vsphere使用Jenkins的Windows VM

时间:2016-08-30 00:01:54

标签: windows jenkins jenkins-plugins vsphere

我正在尝试在Jenkins工作期间重置并启动Windows VM(在vsphere中)。我成功安装了vSphere Cloud Plugin。我跟着instructions将Windows机器设置为jenkins-mvn-slave,并将其设置为作为服务运行。

如果我点击Jenkins中Launch Slave Agent的按钮,我可以看到(在vsphere中)VM执行revert snapshot,然后它执行power on virtual machine。如果我连接到机器,我可以看到Jenkins服务自动启动。但是,回到詹金斯,它告诉我Slave did not come online in allowed time

我的奴隶的一些关键设置: Force VM launch: Checked Wait for VMTools: Not checked Delay between launch and boot complete: 120 Secondary launch method: Launch slave agents view Java Web Start

版本: Jenkins: 1.596.2 vSphere: 5.5.0 Windows: Server 2012 R2 Standard, Build 9600 vSphere plugin: 2.7

我错过了什么?

1 个答案:

答案 0 :(得分:1)

自从我发布以来,我做了很多搞乱,但我认为以下是我做错了。我首先让VM作为普通的奴隶代理工作。一旦我有了工作,那么我尝试设置与vsphere-cloud-slave-agent相同。我没有意识到将主机设置为奴隶代理是特定于代理商名称"。

所以,我卸载了Jenkins服务,启动了" vsphere云奴隶代理",登录到机器,然后运行javaws(如前面提到的instructions中所述。

我遇到的其他一些问题(与初始帖子无关,但可能与阅读此内容的人有关):

  1. 我最初使用密码管理器安装了git。不幸的是,由于jenkins的工作不是交互式的,所以它挂在git clone命令上。我尝试卸载并重新安装git,但它并没有解决jenkins slave运行的任何用户的问题。我最终不得不恢复到以前的奴隶图像并从那里安装git。 (我可能也想知道用户在运行jenkins slave,并在那里输入了所需的密码。)

  2. 我想为每个作业运行一个干净的VM。我从来没有想过这个。如果我将Availability设置为Take this slave on-line when in demand and off-line when idle,这是一个好的开始。但是,如果我将时间设置为0和0,那么机器会不断重启。如果我将时间设置为1和1,那么除非有排队等待运行的背对背作业,否则机器会完全按照我的要求进行操作。