【问题标题】:Running a shell script via Jenkins running on Windows Server 2008通过在 Windows Server 2008 上运行的 Jenkins 运行 shell 脚本
【发布时间】:2017-02-02 15:35:02
【问题描述】:

我编写了一个使用 Linux 特定命令并托管在 RHEL7 EC2 实例上的 shell 脚本,这不是问题,因为它可以从任何 Unix 机器上运行。

如何创建可以成功运行此脚本的 Jenkins 作业?该脚本在任何 Unix 机器上都可以正常工作,但是我似乎找不到通过托管在 Windows Server 2008 环境中的 Jenkins 作业来运行命令的方法。

到目前为止,我已经尝试为 Jenkins 添加 SSH 插件(我的私钥出现错误,但我已经确认它是正确的)并且我已经尝试通过 PuTTY 命令行远程连接到 Linux 服务器(plink)并通过用户名/密码,然后是我想要运行的脚本,但没有运气。

我只是想知道是否有人遇到过类似的挑战并可以指导我走上正确的道路,我花了数小时研究不同的方法/配置,但没有运气。

提前致谢。

注意:我也尝试过在本地安装 Cygwin 并以这种方式运行脚本,但它不起作用,可能是由于我自己的配置 - 但是,对于我的场景来说,它似乎有点矫枉过正。

【问题讨论】:

  • 您可以将服务器设为 jenkins 代理并将作业固定到该代理。
  • 我试过这个,它抱怨我的私钥 - 但是,私钥是正确的。我正在使用 AWS 提供的私钥通过 SSH 连接到我的 EC2 实例,这是否正确?
  • 这是我尝试通过 Jenkins 控制台登录代理的错误消息:code Connection timed out: connect ERROR: Unexpected error in launch a slave。这可能是 Jenkins 中的一个错误。 java.lang.IllegalStateException:连接未建立!

标签: windows bash shell jenkins ssh


【解决方案1】:

最后我得到了它的工作,在@jordanm 的评论之后我回到了代理的想法 - 我无法通过用户名/私钥身份验证使其工作,但是一个简单的用户名/密码组合工作正常。

我在我的远程机器上设置了一个 Jenkins 用户,并为它创建了一个我在 Jenkins 中定义的根目录,将构建步骤添加到我的工作中并第一次工作。

【讨论】:

    猜你喜欢
    • 2013-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-11
    • 1970-01-01
    • 2017-06-06
    • 2016-07-20
    • 1970-01-01
    相关资源
    最近更新 更多