我们有一个使用了一些私有Bitbucket库作为npm依赖的Node项目。这些依赖项在我们的package.json
中如下所示:
"errors": "git+ssh://git@bitbucket.org/[USER]/[REPO].git",
我们有一个由
Jenkinsfile
定义的Jenkins构建作业。该文件使用凭证插件来定义一个私有SSH密钥,该密钥用于在构建作业中拉取私有存储库,具体操作如下:stage('Install dependencies') {
container('node-image') {
sshagent(['degov-git']) {
sh 'mkdir $HOME/.ssh && touch $HOME/.ssh/known_hosts && chmod 600 $HOME/.ssh/known_hosts'
sh 'ssh-keyscan -t rsa bitbucket.org >> $HOME/.ssh/known_hosts'
sh 'npm install'
}
}
然而,我们收到了一个错误,即主机密钥验证失败:
[2019-05-05T07:36:26.027Z] npm ERR! Error while executing:
[2019-05-05T07:36:26.027Z] npm ERR! /usr/bin/git ls-remote -h -t ssh://git@bitbucket.org/[USER]/[REPO].git
[2019-05-05T07:36:26.027Z] npm ERR! Host key verification failed.
当在Jenkins中使用sshagent时,是否可以添加主机密钥?我们该如何操作?
谢谢。