2
我有一个项目正在使用多分支管道插件在Jenkins上构建。我使用的声明管道语法和我Jenkinsfile看起来是这样的:使用多分支管道时在构建环境中的SSH密钥Jenkinsfile
pipeline {
agent { label 'blah' }
options {
timeout(time: 2, unit: 'HOURS')
buildDiscarder(logRotator(numToKeepStr: '5'))
}
triggers { pollSCM('H/5 * * * *') }
stages {
stage('Prepare') {
steps {
sh '''
echo "Building environment"
python3 -m venv venv && \
pip install git+ssh://[email protected]_private_repo.git
'''
}
}
}
}
当构建在詹金斯运行框中构建失败,当我检查控制台输出它失败画中画安装带有命令错误:
Permission denied (publickey).
fatal: Could not read from remote repository.
我猜测,我需要设置所需的SSH密钥到詹金斯生成环境,但我不知道如何做到这一点。
这听起来像你没有访问任何回购你试图复制。你有没有在Jenkins盒子的'.ssh'目录中设置必要的'config'文件? –
我想不是。我正试图将一个作业转换成一个单独的管道(没有jenkinsfile)到一个带有Jenkinsfile的多分支管道。在原始作业中,它使用配置作业,并在部分构建环境 - > ssh-agent下指定了ssh密钥。对于多分支管道作业没有这个选项,并且没有关于如何在jenkinsfile中执行的文档 –
将私钥放在'〜jenkinsuser/.ssh/id_rsa'上 – Rik