Дженкинс (2.162), обновленные модули.Мне нужно добавить частные зависимости github для сборки груза.Итак, мне нужно сохранить SSH-ключ в контейнере Jenkins до cargo build
.
Я сделал:
stage('Build') {
steps{
script {
dir('api'){
withCredentials([string(credentialsId: 'GitKeyText', variable: 'ID_RSA')]) {
sh '''
set +x
eval `ssh-agent -s`
mkdir ~/.ssh
echo ${ID_RSA} >~/.ssh/id_rsa
chmod go-r ~/.ssh/id_rsa
ssh-add
cargo build
'''
}
}
input message: "wait"
}
}
}
Все выглядит хорошо, и эта последовательность команд работает хорошо внутри контейнера докера.Но работа Дженкинса провалилась на ssh-add
без каких-либо сообщений об ошибках.Просто ERROR: script returned exit code 1
в конце журнала консоли Jenkins.
add01: я добавил эхо-комментарий к коду и изменил set +x
на set -x
без вывода с ssh-add
(вывод на консоль)
.....
+ echo before ssh-add
before ssh-add
+ ssh-add
[Pipeline] }
[Pipeline] // withCredentials
[Pipeline] }
[Pipeline] // dir
[Pipeline] }
[Pipeline] // script
Post stage
.....