2017-02-02 162 views
0

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

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

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

我只是想知道,如果有人遇到类似的挑战,并可以指引我走下正确的道路,我花了几个小时研究不同的方法/配置,没有运气。

在此先感谢。

注意:我也尝试过在本地安装Cygwin并运行脚本,但它没有工作,可能是由于我自己的配置 - 但是,它确实对我的场景来说过分了。

+0

您可以让服务器成为詹金斯代理并将作业固定到该代理。 – jordanm

+0

我试过这个,它抱怨我的私钥 - 但是,私钥是正确的。我使用私钥AWS将SSH提供给我的EC2实例,请问这是正确的吗? – jto

+0

这是我试图通过Jenkins控制台登录到代理的错误消息: 'code'连接超时:连接 错误:启动从站时出现意外错误。这可能是詹金斯的一个错误。 java.lang.IllegalStateException:连接未建立! – jto

回答

0

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

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