由于 git 权限,jenkins 管道的 mvn 发布错误

Error in mvn release with jenkins pipeline due to git permission

我对 jenkins 管道、mvn 发布、git 和 sshagent 有以下问题:

詹金斯文件

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 版本。 有什么想法吗?

就像你的堆栈跟踪提到的那样,你应该为你的 Git 全局配置配置一个电子邮件和一个名字,例如:

sh 'git config --global user.email "jenkins@example.com"'
sh 'git config --global user.name "Jenkins"'