В моем конвейере Jenkins у меня есть следующий код:
stage('pushing'){
steps {
withCredentials([usernamePassword(credentialsId: '91f32d3c-b7ee-49ac-b233-3bd93d2696eb', passwordVariable: 'GIT_PASSWORD', usernameVariable: 'GIT_USERNAME')]) {
sh("echo -e 'url=https://domain.tld\nusername=${GIT_USERNAME}\npassword=${GIT_PASSWORD}' | git credential approve")
sh('git push --tags')
}
}
}
Вывод выглядит следующим образом:
[Pipeline] sh
13:28:52 [git-push-tag] Running shell script
13:28:52 + git push --tags
13:28:52 fatal: Authentication failed for 'https://domain.tld/scm/~user/git-push-app.git/'
Я уже подготовил среду с минимальной конфигурацией:
git config --global user.name jenkins
git config --global user.email jenkins@domain.tld
git config --global credential.helper cache
git config --global push.default simple
С приведенной выше конфигурацией git учетные данные утверждают и git push --tags из командной строки работают для меня. Но это не работает в трубопроводе Дженкинс.
Понятия не имею, почему.