Стадия 1 - вы добавляете некоторые параметры оболочки в локальный git
Стадия 2 - вы указываете на фактические учетные данные, которые следует использовать, и используете плагин Jenkins - который будет просто работать
Satge 3- обратно в оболочку, учетные данные, предоставленные jenkins, не предоставляются, поэтому контекст является подчиненным / локальным пользователем jenkins.
Решением будет использование withCredentials
для имени пользователя и пароля или sshagent(credentials...)
для закрытого ключа
// credentialsId here is the credentials you have set up in Jenkins for pushing
// to that repository using username and password.
withCredentials([usernamePassword(credentialsId: 'git-pass-credentials-ID', passwordVariable: 'GIT_PASSWORD', usernameVariable: 'GIT_USERNAME')]) {
sh("git tag -a some_tag -m 'Jenkins'")
sh('git push https://${GIT_USERNAME}:${GIT_PASSWORD}@<REPO> --tags')
}
// For SSH private key authentication, try the sshagent step from the SSH Agent plugin.
sshagent (credentials: ['git-ssh-credentials-ID']) {
sh("git tag -a some_tag -m 'Jenkins'")
sh('git push <REPO> --tags')
}