需要在jenkins中设置交互式shell脚本

时间:2014-06-24 10:56:54

标签: shell jenkins

我有一个部署脚本,在运行时要求确认进一步部署和密码。我使用jenkins的publish-over-ssh插件在目标服务器上运行我的构建和部署脚本。 但由于部署Shell脚本是Interactive,它在运行时接受用户输入,而在jenkins中,构建处于挂起状态。 有没有办法我可以设置jenkins配置为解码脚本在目标unix服务器上运行,并在运行时jenkins应提示我用户确认和密码。 请建议。

先谢谢。

2 个答案:

答案 0 :(得分:0)

Jenkins不支持交互式脚本。只需通过标准输入的确认,例如:

yes | ./my_script.sh

对于用户名和密码,使用SSH Agent Plugin会更好(安全性和复杂性)。

使这样的脚本互动无论如何不是* nix方式。如果可能的话,我强烈建议更改它以获取运行所需的所有参数,而无需任何交互。然后你可以这样做:

./my_script.sh --option-name=option-value [...] parameter-value [...]

答案 1 :(得分:0)

评论了不必要的交互,并且密码提示通过密钥生成过程设置了公钥认证。