在Gradle Nebula插件17.2.1中,下面的代码可以使用18.0.4工作,但不能使用org.gradle.api.GradleException: fatal: could not read Username for 'https://github.com': No such device or address
,并且失败
grgit仍然在nebula项目的测试中,但不在src(search)中。没有关于如何将git creds从Jenkins层或OS层传递到gradle层的文档。看起来插件维护者决定减少他们项目的范围,而不添加有用的文档。
Jenkins文件代码
withCredentials([usernamePassword(credentialsId: 'credid',
passwordVariable: 'GRGIT_PASS',
usernameVariable: 'GRGIT_USER')]) {
script {
sh("./gradlew final recordVersion --stacktrace")
}
}
字符串
1条答案
按热度按时间vmdwslir1#
在18.0.4中,我可以通过两种不同的方式来实现这一点。
选项1:(Jenkinsfile和build.gradle中的更改)
在Jenkins中使用github token添加一个自定义git remote,然后配置gradle插件使用该remote,而不是默认remote,默认remote设置为
origin
。Jenkinsfile:
字符串
build.gradle:
型
选项2:(仅更改Jenkinsfile)
添加一个git配置,将远程URL替换为包含github token的URL
Jenkinsfile:
型