使用Github App为Nebula Gradle插件提供Git凭证



我们有一个Jenkins配置为使用Github应用程序来执行所有与Git相关的活动。我们的一个项目在发布过程中使用了Nebula Gradle插件。因此,每当final任务在Jenkins上运行时,第一个运行的Gradle任务是prepare,它使用内部JGit执行git fetch。如果这样做,它会失败,并出现以下异常:

org.eclipse.jgit.errors.TransportException: https://github.com/yyy/zzz.git: Authentication is required but no CredentialsProvider has been registered

所以,问题是-我如何使星云插件使用Github应用程序上配置的詹金斯提供的凭据?

按如下方式配置您的Jenkinsfile:

steps {
withCredentials([usernamePassword(credentialsId: 'github-app-id',
usernameVariable: 'GITHUB_APP',
passwordVariable: 'GITHUB_ACCESS_TOKEN')]) {
sh 'export GRGIT_USER=$GITHUB_APP && export GRGIT_PASS=$GITHUB_ACCESS_TOKEN && ./gradlew final'
}
}

最新更新