如何从Jenkins在EC2上运行Windows示例?

c8ib6hqw  于 12个月前  发布在  Jenkins
关注(0)|答案(3)|浏览(125)

我已经将Jenkins配置为在AWS EC2上执行Linux示例。这工作得非常好,我能够通过Jenkins在EC2上调用Linux示例。(安装了几个插件;设置;创建自定义Linux AMI等)。
我想通过Jenkins在EC2上运行Windows示例。我已经安装了一个自定义的Windows AMI,安装了Java并配置了Winrm;一个安全组,允许在端口445和5985上使用TCP;分别用于SMB和Winrm(https://issues.jenkins-ci.org/browse/JENKINS-4995)。
我能够从Jenkins调用此Windows示例,但它从未连接(只是继续循环“使用WinRM连接到ec2-54-191-40-110.us-west-2.compute.amazonaws.com(54.191.40.110)”。等待WinRM启动。睡10秒。”
请帮我做同样的事情。

fafcakar

fafcakar1#

您将需要创建一个新的AMI并更改其上的执行策略。
1.从上面提到的AMI创建一台新机器。
1.登录并从cmd运行以下命令

powershell Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope LocalMachine

1.拍一张新照片
1.在jenkins中配置新的AMI。
你就可以走了

46scxncf

46scxncf2#

我遇到了类似的问题。然而,在我的情况下,事实证明,我启用了Windows防火墙,它阻止了端口445,这是在winrm连接之前所需的,正如插件源代码所显示的那样:https://github.com/jenkinsci/ec2-plugin/blob/0278dd242a554ff200144b813122505f6d8dcd0e/src/main/java/hudson/plugins/ec2/win/WinConnection.java查看ping()方法

waxmsbnn

waxmsbnn3#

我知道这是一个很长的时间,因为这篇文章被创建,这可能已经解决了。无论如何,我在下面创建了一个逐步的步骤,使用Jenkins EC2 Plugin将Jenkins Windows VM与SSH结合起来。我希望这是有用的,并帮助别人。
注意:我在WinRM上遇到了极端的减速。我选择使用SSH,这解决了我的问题变得非常快。
在将成为您的映像(AMI)的AWS EC2 VM中
1.在Windows机器上配置OpenSSh,
1.创建公钥和私钥对
1.在C:\ProgramData\ssh\administrators_authorized_keys中添加公钥
1.使用私钥测试虚拟机访问
关于Jenkins
1.在Jenkins凭据中配置私钥(种类:使用私钥的SSH服务器)
在AWS控制台上
1.配置一个安全组,允许从Jenkins服务器在端口22上进行连接
在Jenkins的“configure Clouds”菜单中
1.通过更改以下内容创建EC2配置:
1.“AMI ID”配置您配置SSH的AMI
1.“EC2 Key Pair's Private Key”选择您在Jenkins Credentials中配置的私钥
1.“远程用户”设置为管理员
1.“AMI类型?”选择“unix”
1.“远程ssh端口“设置为22。
1.“删除临时目录位置”将C:\Windows\Temp
1.“Java路径”放入“c:\Program Files\Microsoft\jdk-11.0.17.8-hotspot\bin\java.exe”(或Windows VM中Java的路径)
1.“Subnet ID for VPC”写入您创建的AWS Secure组名称
1.“主机密钥验证策略”选择“accept-new”

相关问题