我有一个部署脚本,在运行时要求确认进一步部署和密码。我使用jenkins的publish-over-ssh插件在目标服务器上运行我的构建和部署脚本。 但由于部署Shell脚本是Interactive,它在运行时接受用户输入,而在jenkins中,构建处于挂起状态。 有没有办法我可以设置jenkins配置为解码脚本在目标unix服务器上运行,并在运行时jenkins应提示我用户确认和密码。 请建议。
先谢谢。
答案 0 :(得分:0)
Jenkins不支持交互式脚本。只需通过标准输入的确认,例如:
yes | ./my_script.sh
对于用户名和密码,使用SSH Agent Plugin会更好(安全性和复杂性)。
使这样的脚本互动无论如何不是* nix方式。如果可能的话,我强烈建议更改它以获取运行所需的所有参数,而无需任何交互。然后你可以这样做:
./my_script.sh --option-name=option-value [...] parameter-value [...]
答案 1 :(得分:0)
评论了不必要的交互,并且密码提示通过密钥生成过程设置了公钥认证。