【问题标题】:How to run Windows instance on EC2 from Jenkins?如何从 Jenkins 在 EC2 上运行 Windows 实例?
【发布时间】:2016-10-26 23:19:51
【问题描述】:

我已将我的 Jenkins 配置为在 AWS EC2 上执行 Linux 实例。这工作得很好,我可以通过 Jenkins 在 EC2 上调用 Linux 实例。 (安装了几个插件;设置;创建自定义 Linux AMI 等)。

我想通过 Jenkins 在 EC2 上运行一个 Windows 实例。我已经设置了一个安装了 Java 并配置了 Winrm 的自定义 Windows AMI;允许 TCP 在端口 445 和 5985 上的安全组;分别用于 SMB 和 Winrm (https://issues.jenkins-ci.org/browse/JENKINS-4995)。

我可以从 Jenkins 调用这个 Windows 实例,但它永远不会连接(只是继续循环“连接到 ec2-54-191-40-110.us-west-2.compute.amazonaws.com(54.191. 40.110) 使用 WinRM。等待 WinRM 启动。休眠 10 秒。"

请帮帮我。

【问题讨论】:

  • Windows 实例需要时间来启动您是否给它时间来完全启动?您需要等待大约 5-10 分钟。

标签: amazon-web-services jenkins amazon-ec2 jenkins-plugins


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    您需要创建一个新的 AMI 并更改其执行策略。

    1. 从您上面提到的 AMI 创建一台新机器。

    2. 登录它并从 cmd 运行以下命令

      powershell Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope LocalMachine
      
    3. 拍摄一张新照片。

    4. 在 jenkins 中配置新的 AMI。

    你可以走了。

    【讨论】:

    • 创建一个新的 AMI 对我有用。但是,我必须在模板中进入 powershell 并运行这两个命令: winrm set winr/config/service '@{AllowUnencrypted="true"}' andwinrm set winr/config/service/auth '@{Basic="true "}'
    猜你喜欢
    • 2019-04-23
    • 1970-01-01
    • 2011-01-13
    • 1970-01-01
    • 1970-01-01
    • 2020-04-04
    • 1970-01-01
    • 2021-08-15
    • 1970-01-01
    相关资源
    最近更新 更多