我使用shell脚本作为Jenkinsfile的一部分来运行数据库迁移。在known_hosts
文件中设置条目后,shell脚本会尝试克隆存储库。我正在做以下事情:
#!/bin/bash
set -e
# Workaround old docker images with incorrect $HOME
# check https://github.com/docker/docker/issues/2968 for details
if [ "${HOME}" = "/" ]
then
export HOME=$(getent passwd $(id -un) | cut -d: -f6)
fi
mkdir -p ~/.ssh
echo '
github.com ssh-rsa KEY
' >> ~/.ssh/known_hosts
git clone git@github.com:Organization/migrations.git /tmp/database-migrations
Execute Migration
这给了我一个错误
Permission denied (publickey).
fatal: Could not read from remote repository.
如何解决这个问题?
BTW当我检查已知的hosts文件时,我看到一个条目已被添加到文件中,其IP为192
范围(本地IP)。这会造成问题吗?
答案 0 :(得分:2)
不是因为known_hosts文件。正如它所说,我认为这是你的私钥。
您是否将正确的私钥复制到容器中?因为我没有在你的剧本中看到它。
您可以输入以下内容来测试密钥:
blue
我相信你会看到同样的结果。
您可以在github上查看此链接Error: Permission denied (publickey)。