如何使用Gradle推送到Github软件包注册表

DO *_* IT 9 java gradle maven github-package-registry

试图将Gradle项目推送到Github程序包注册表,但是没有按预期工作。

使用io.freefair.github.package-registry-maven-publishGradle插件。

在GitHub中配置build.gradle发布所需的数据-以下代码。并运行发布任务publishAllPublicationsToGutHub。没有得到任何错误,但是我在GitHub软件包注册表中看不到我的软件包。

github {
    slug
    username = "myGitUserName"
    token = "myTokenWithRightAccess"
    tag = "HEAD"
    travis = true
}
Run Code Online (Sandbox Code Playgroud)

期待一些如何使用Gradle发布到Github软件包注册表的示例,或者发布时我做错了什么

mad*_*ead 6

新答案

GitHub已发布官方指南:配置Gradle以与GitHub Packages一起使用


旧答案

看来该插件还不是很稳定。看一下我创建的存储库该存储库已完成所有设置。我设法出版了几包与插件这里

甚至发布了软件包,由于以下问题,Gradle仍将任务显示为失败maven-metadata.xml

> Task :publishMainPublicationToGitHub madhead Maven PackagesRepository FAILED
Could not transfer metadata so57323260:test/maven-metadata.xml from/to remote (https://maven.pkg.github.com/madhead): Could not get resource 'so57323260/test/maven-metadata.xml'

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':publishMainPublicationToGitHub madhead Maven PackagesRepository'.
> Failed to publish publication 'main' to repository 'GitHub madhead Maven Packages'
   > Could not GET 'https://maven.pkg.github.com/madhead/so57323260/test/maven-metadata.xml'. Received status code 422 from server: Unprocessable Entity
Run Code Online (Sandbox Code Playgroud)

但这没关系,可能有一天会修复。

我注意到,由于Maven发布不正确,这些软件包可能不会发布(请参阅链接的问题groupId。现在看来,它应该等于Github的项目名称。因此,就我而言,我必须将so57323260groupId用作madhead/so57323260项目。包通常不是在Maven中工作的方式,因此这可能是您的问题。