Could not get unknown property ‘mUser‘ for Credentials [username: null]

最近遇到jekins打包报错:

Could not get unknown property 'mUser' for Credentials [username: null] of type org.gradle.internal.credentials.DefaultPasswordCredentials_Decorated。

项目使用的是gradle,通过pipeline打docker包;因为maven仓库设置了用户和密码,导致报此错。

解决:

1、修改build.gradle文件,改成这种写法,maven仓库的用户和密码使用环境变量。

credentials {
    username = System.getenv('MAVEN_UAER')
    password = System.getenv('MAVEN_PASS')
}

2、修改Jenkinsfile ,设置环境变量

写法参考如下(注意此处的变量名称需要和上一步保持一致):

3、在jekins上设置凭据。设置Secret 文本。

参考如下图,注意这里的ID要和上一步的值一致。设置完成后保存。

这就解决了。

参考:

https://www.jenkins.io/zh/doc/book/pipeline/jenkinsfile/#handling-credentials

还有一种办法就是,增加文件/root/.gradle/gradle.properties ,在properties设置maven仓库的用户名和密码(具体可以自行搜索)。