使用Github App为Jenkins上的Nebula Gradle插件提供Git凭据

yx2lnoni  于 2023-04-11  发布在  Jenkins
关注(0)|答案(1)|浏览(182)

我们有一个配置为使用Github应用程序执行所有Git相关活动的Jenkins。我们的一个项目使用Nebula Gradle plugin进行发布过程。因此,每当在Jenkins上运行final任务时,第一个运行的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

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

vyswwuz2

vyswwuz21#

配置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'
  }
}

相关问题