我对jenkins管道,mvn发布,git和sshagent有以下问题:
Jenkinsfile
node {
env.JAVA_HOME="${tool 'JDK-8u102'}"
env.M2_HOME="${tool 'maven-3.3.9'}"
env.PATH="${env.JAVA_HOME}/bin:${env.M2_HOME}/bin:${env.PATH}"
stage "Checkout"
git branch: 'master', credentialsId: '${gitCredentialsId}', url: '${gitUrl}'
sshagent (['${gitCredentialsId}']) {
sh "mvn -B -Dtag=${releaseVersion} release:prepare release:perform -DreleaseVersion=${releaseVersion} -DdevelopmentVersion=${developmentVersion}"
}
}
作业控制台输出
...
[ssh-agent] Using credentials scm
[ssh-agent] Looking for ssh-agent implementation...
[ssh-agent] Java/JNR ssh-agent
[ssh-agent] Skipped registering BouncyCastle, not running on a remote agent
[ssh-agent] Started.
...
[ERROR] Provider message:
[ERROR] The git-tag command failed.
[ERROR] Command output:
[ERROR]
[ERROR] *** Please tell me who you are.
[ERROR]
[ERROR] Run
[ERROR]
[ERROR] git config --global user.email "you@example.com"
[ERROR] git config --global user.name "Your Name"
凭据是正确的,但由于某种原因不适用于maven版本。 有什么想法吗?
答案 0 :(得分:0)
就像你的stacktrace提到的那样,你应该为你的Git全局配置配置一个电子邮件和一个名字,例如: :
sh 'git config --global user.email "jenkins@example.com"'
sh 'git config --global user.name "Jenkins"'