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