当前位置: 首页 > 知识库问答 >
问题:

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

韩征
2023-03-14

试图将Gradle项目推送到Github包注册表,但未按预期工作。

使用io。弗里费尔。github。PackageRegistry maven publishGradle插件。

build中配置GitHub。gradle带有需要发布的数据-代码如下。并运行发布任务publishAllPublicationsToGutHub。没有收到错误,但在GitHub包注册表中看不到我的包。

github {
    slug
    username = "myGitUserName"
    token = "myTokenWithRightAccess"
    tag = "HEAD"
    travis = true
}

期待一些例子,如何发布到Github包注册表与Gradle或我在发布时做错了什么

共有3个答案

墨雨华
2023-03-14

还值得设置github操作以发布到github包repo:


name: Publish package to GitHub Packages
on:
  release:
    types: [created]
jobs:
  publish:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-java@v1
        with:
          java-version: 1.8
      - name: Publish package
        run: gradle -Pversion=${{ github.event.release.tag_name }} build publish
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

每当我们创建一个以该标记为版本的发布标记时,它都会发布一个包。

姜钊
2023-03-14

我能够使用maven发布插件发布到Github包注册表。现在似乎还不错。

我的身材。gradle文件如下所示:

buildscript {
    repositories {
        mavenCentral()
    }
}

plugins {
    id 'java'
    id 'maven-publish'
}

group 'com.company.project'
archivesBaseName = 'library-name'
version '0.1.0'

repositories {
    mavenCentral()
}

dependencies {
  // java dependencies
}

publishing {
    repositories {
        maven {
            name = "Github"
            url = uri("https://maven.pkg.github.com/<OWNER>/<REPO>")
            credentials {
                username = findProperty("github.username")
                password = findProperty("github.token")
            }
        }
    }
    publications {
        register("jar", MavenPublication) {
            from(components["java"])
            pom {
                url.set("https://github.com/<OWNER>/<REPO>.git")
            }
        }
    }
}

将您的github用户名和令牌放入gradle。属性文件。

呼延烈
2023-03-14

新答案:

GitHub发布了官方指南:配置Gradle用于GitHub软件包。

老答案:

似乎插件还不是很稳定。看看我创建的存储库,它已经设置好了一切。我设法在这里发布了几个带有该插件的包。

即使是发布的包,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

但没关系,也许有一天会被修复。

我注意到,由于Maven发布的group pId不正确,包可能无法发布(请参阅链接问题)。现在看起来它应该等于Github的项目名称。所以,在我的例子中,我必须使用so57323260作为group pId用于madhead/so57323260项目。Maven中的包通常不是这样工作的,所以这可能是你的问题。

 类似资料:
  • 我在用户X和存储库名称Y下有一个私有存储库: https://github.com/X/Y 这是一个用Gradle构建的Java项目。 Gradle配置文件已按照官方Github软件包注册表文档中的说明进行配置,我能够成功发布我的软件包: https://help.github.com/en/articles/configuring-gradle-for-use-with-github-packa

  • 所以,我有一个配置了包注册表的GitHub项目。它有两个包: 包页面只有Maven的说明,除此之外,说明被破坏了(不是在Maven中添加依赖项的有效方法): 问题是:如何在Gradle构建中添加该包?

  • 我想从公共repo的GitHub操作部署到GitHub包注册表。 我有一个工作流的yml文件: 我使用Leiningen构建项目并生成POM文件。然后我想使用Maven将工件部署到GitHub包注册表。 命令失败(我已将个人信息替换为): 我看到身份验证失败了。我也尝试过这一步,但效果相同: 我不想提供用户名/密码或令牌,因为这是一个公共存储库。有什么办法可以出版吗? 谢谢!

  • 本文向大家介绍2018年GitHub账户注册图文教程(github从注册到使用),包括了2018年GitHub账户注册图文教程(github从注册到使用)的使用技巧和注意事项,需要的朋友参考一下 GitHub是一个优秀的面向开源及私有软件项目的托管平台,值得我们使用,但因为其不同于我们常见的很多平台,所以刚开始使用时,我们会遇到很多的问题。特此记录下博主自己使用GitHub的过程供自己以后查看,顺

  • 我正在尝试使用Google JIB maven插件构建我的docker映像并将其部署到私有注册表。但是,它因访问私有注册表而失败。 我已在我的Windows 10机器上安装了Docker Desktop v19.03.1。接下来,我正在尝试使用Google JIB Maven插件构建我的Spring Boot应用程序,然后推送构建在私有注册表上的映像。 我已将证书添加到“示例”。注册处。com'到

  • 我想把用Maven Jib插件构建的Docker镜像推送到GitHub包中。 我读到我可以在GITHUB包中使用secret进行身份验证。 但我在Jib文档中找不到使用令牌进行身份验证的方法。 我只看到一种使用用户名和密码的方法。 如何使用Maven jib插件对令牌进行身份验证?