У меня есть декларативный конвейер для подключения к удаленному серверу, как показано ниже:
pipeline {
agent any
environment {
SERVER_CREDENTIAL = 'server'
GIT_CREDENTIAL = 'git'
}
stages {
stage("Connect remote server") {
steps {
withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId: "${SERVER_CREDENTIAL}", usernameVariable: 'username', passwordVariable: 'password']]) {
script {
def remote = [:]
remote.name = "server"
remote.host = "x.x.x.x"
remote.allowAnyHosts = true
remote.user = "$username"
remote.password = "$password"
sshCommand remote: remote, command: "cd /www && git fetch"
}
}
}
}
}
Я могу подключиться к серверу, но git отказал в разрешении, потому что на этом сервере нет ключа ssh.Я тоже не хочу хранить sshkey.Есть ли способ запустить git fetch с моими учетными данными Jenkins git.Пытался исследовать, но ничего не помогло.
Я тоже пробовал это, но не работает
sshagent(["$GIT_CREDENTIAL"]) {
withCredentials(...) {
remote.agentForwading = true
sshCommand ...
}
}
Кстати, можно ли разбивать команды в отдельных строках кода, которые сохраняют предыдущее состояние?