gpt4 book ai didi

linux - 通过 jenkins 构建步骤传递密码

转载 作者:太空狗 更新时间:2023-10-29 12:10:33 25 4
gpt4 key购买 nike

我正在尝试在 jenkins 中添加一个构建步骤,以将文件从我的构建服务器复制到我的 Web 应用程序服务器。我在命令提示符下运行了以下命令

sudo scp -r /var/lib/jenkins/workspace/demoproj/publish root@0.0.0.0:/usr/temp

但是当我运行这个命令时,它每次都会提示我输入密码。我发现了 sshpass,但是当我运行这个命令时...

sudo sshpass -p "passwordhere" scp -r /var/lib/jenkins/workspace/demoproj/pub root@0.0.0.0:/usr/temp

终端卡住了。并且永远无法通过。

我的主要问题是,如果我将第一个命令添加到 jenkins 中的构建步骤,它将无法传递密码。我如何在 jenkins 中提供密码,或修改命令以传递我的凭据?

Helpful information: I'm using Putty on Windows 10 to connect to my Ubuntu 16.04.3 LTS x64 servers from another Ubuntu 16.04.3 server.

最佳答案

首先,sshpass 需要安装在两个系统上,即运行您的 jenkins 实例的系统以及您尝试访问的系统:root@0.0.0.0。您可以通过执行“which sshpass”或“whereis sshpass”来验证它。如果它甚至没有安装在其中一个中,那么您需要先安装它。

此外,您是否曾尝试从您拥有 jenkins 实例的系统对上述机器执行 ssh:root@0.0.0.0?如果不是,则任一系统的“已知主机”中可能都没有条目。为此,您可以使用“-o StrictHostKeyChecking=no”选项执行 ssh 以在已知主机中自动输入。

或者,如果您不想一次又一次地输入密码,您应该使用“ key ”。为两个系统生成一个唯一的 key ,并使用 -i 选项执行 scp 或 ssh。

您应该使用 jenkins 凭据,而不是直接在脚本中使用敏感密码。将整个 scp 或 ssh 部分放在一个 block 中,如下所示:withCredentials(){}。

关于linux - 通过 jenkins 构建步骤传递密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46045481/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com