主机密钥验证失败
容器中的SSH连接无法验证主机(bitbucket-eng-
gpk1.com)的身份,这就是失败的原因。当詹金斯(Jenkins)设置一个容器时,它试图限制外界的东西数量,例如环境变量和它安装到该容器中的文件系统位置,以使构建步骤具有隔离性。在您的容器中,它在建立连接之前尚未接受VCS的主机密钥,并且它不是交互式终端,因此将失败。
有几种不同的方法来处理此问题。我想到了以下几点:
忽略主机密钥检查(知道这个故事的安全隐患(1,2)) -使用
StrictHostKeyChecking
选项来禁用检查。该UserKnownHostsFile
选项在将接受的密钥通过管道传输到其他位置时很有用。也可以按~/.ssh/config
文件中的每个主机进行操作。ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -p 7999 git@bitbucket-eng-gpk1.com whoami
将SSH密钥构建到Docker映像中(易碎)
~/.ssh/config
使用主机将文件从主机挂载到容器中- 从主机“安装”一些SSH配置文件,或使用一些具有已验证主机密钥的其他配置文件提供程序(可能使用 Config File Provider插件 )



