标签: github-package-registry

如何将GitHub Package Registry软件包添加为Gradle依赖项

因此,我有一个配置了Package Registry 的GitHub项目。它有两个软件包:

Github软件包注册表中发布了两个软件包

软件包页面仅具有针对Maven的指令,此外,指令已损坏(maven install so57323260这不是在Maven中添加依赖项的有效方法):

带有错误的Maven指令的软件包页面

问题是:如何在Gradle版本中添加该软件包

github gradle maven github-package-registry

7
推荐指数
2
解决办法
494
查看次数

使用 Gradle 访问私有 Maven Github 包注册表

我在用户X和存储库名称Y下有一个私有存储库:

https://github.com/X/Y

这是一个用 Gradle 构建的 Java 项目。

Gradle 配置文件已按照官方Github 包注册表文档中的说明进行配置,我可以成功发布包:

https://help.github.com/en/articles/configuring-gradle-for-use-with-github-package-registry#publishing-a-package

publishing {
    repositories {
        maven {
            name = "GitHubPackages"
            url = uri("https://maven.pkg.github.com/X/Y")
            credentials {
                username = project.findProperty("gpr.user") ?: System.getenv("GITHUB_PACKAGE_REGISTRY_USER")
                password = project.findProperty("gpr.key") ?: System.getenv("GITHUB_PACKAGE_REGISTRY_API_KEY")
            }
        }
    }
    publications {
        github(MavenPublication) {
            groupId = 'A'
            artifactId = 'B'
            version = '1.0.0'

            from(components.java)
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

正如您在上面的配置中看到的,我分别使用了AB作为 groupId 和 artifactId。版本是 1.0.0。

我的问题是从另一个 Gradle 项目中检索此私有依赖项。这个项目有一个特定的存储库配置如下:

repositories {
    jcenter()
    maven {
        url = …
Run Code Online (Sandbox Code Playgroud)

github gradle maven github-package-registry

7
推荐指数
1
解决办法
1892
查看次数

无法在 Github 注册表中安装 npm 包

我已经向 GitHub npm 注册表发布了一个包。根据下面的屏幕截图,当我登录到 GitHub 时,我可以看到该包。

截图 1 在此处输入图片说明

截图 2 在此处输入图片说明

在本地,不同的包将前者作为依赖项。因此我有我的package.json

"dependencies": {
    "<@scope>/<package_name>": "1.2.0",
...
Run Code Online (Sandbox Code Playgroud)

根据文档,我还有一个与 authToken.npmrc位于同一目录中的文件package.json。此 authToken 具有所有必要的权限 ( delete:packages, read:packages, repo, write:packages)

//npm.pkg.github.com/:_authToken=<my_auth_token>
registry=https://npm.pkg.github.com/OWNER
Run Code Online (Sandbox Code Playgroud)

最后,我有package.json以下两个条目。尽管我认为这些是将包发布到 github 注册表所必需的,但不能安装它们,这是当前的问题。

  "publishConfig": {
    "registry": "https://npm.pkg.github.com/"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/<OWNER>/<REPO>.git"
  }
Run Code Online (Sandbox Code Playgroud)

因此,当我尝试安装软件包时遇到的错误是:

npm ERR! code E404
npm ERR! 404 Not Found: <@scope>/<package_name>@1.2.0
Run Code Online (Sandbox Code Playgroud)

当我试图通过一些有用的日志了解发生了什么时: With npm install @<scope>/<package_name>@1.2.0 --loglevels verbose,我看到:

....
npm http fetch GET 200 https://npm.pkg.github.com/OWNER/@<scope>%2f<package_name>
npm http fetch …
Run Code Online (Sandbox Code Playgroud)

github npm github-package-registry

7
推荐指数
1
解决办法
2306
查看次数

如何使用命令行将 Maven 工件上传到 Github 包?

我正在尝试将我尚未构建的 Maven 工件上传到我组织的 GitHub 包注册表。为此,我正在使用 deploy:deploy-file Maven 插件。这是我一直在使用的命令:

mvn deploy:deploy-file 
-Dfile=[THE JAR FILE]
-Durl=https://maven.pkg.github.com/[ORG] 
-Dregistry=https://maven.pkg.github.com/[ORG] 
-DgroupId=[GID]
-DartifactId=[ARTIFACTID] 
-Dversion=[VERSION]
-DgeneratePom=false 
-Dtoken=[MY GITHUB TOKEN]
Run Code Online (Sandbox Code Playgroud)

结果我收到了来自 Github 的 401 错误。我已经确定:

  • 我在我的组织(目前是所有者)中有足够的权限。
  • 我使用的令牌是有效的并且具有适当的范围:我将所有这些令牌都进行了测试。

此外,github 包页面指出:

<!-- Just a single step: Deploy using a GitHub token -->
$ mvn deploy -Dregistry=https://maven.pkg.github.com/[org] -Dtoken=GH_TOKEN
Run Code Online (Sandbox Code Playgroud)

为什么我在 Maven 文档中找不到有关注册表或令牌参数的任何信息?我可以在没有任何类型的 XML 配置文件的情况下仅使用 cli 将此文件上传到组织的注册表吗?

提前致谢。

java maven github-package-registry

7
推荐指数
1
解决办法
820
查看次数

使用yarn.lock在Github Actions上使用yarn安装私有Github包未获得授权

类似的问题已经有很多:

然而,我们的问题似乎有所不同,因为:

  • yarn install在本地机器上运行良好
  • 仅当使用 Github Actions 时才会出现此问题
  • yarn install 如果我们删除,GH Actions就会成功yarn.lock

以前有人遇到过这个吗?特别是它不能处理文件yarn.lock

如果重要的话,设置如下:

build.yml

    steps:
    - uses: actions/checkout@v2
    - uses: actions/setup-node@v1
      with:
        node-version: '10.x'
        registry-url: 'https://npm.pkg.github.com'
    - name: Install
      run: yarn install
      env:
        # GITHUB_TOKEN can't access packages hosted in private repos,
        # even within the same organisation
        NODE_AUTH_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }} …
Run Code Online (Sandbox Code Playgroud)

yarnpkg github-actions github-package-registry

7
推荐指数
1
解决办法
7961
查看次数

如何从maven项目引用公共GitHub包

我有一个 GitHub 存储库,其中包含发布到其自己的 GitHub 包 maven 存储库的库。我还有另一个项目,我想在其中引用这个库作为依赖项。

当我将以下配置添加到项目的 POM 文件中时,它不起作用。

<repositories>
 <repository>
  <id>github</id>
  <name>GitHub Packages</name>
  <url>https://maven.pkg.github.com/test-account/test-lib</url>
 </repository>
</repositories>
Run Code Online (Sandbox Code Playgroud)

它需要我进行身份验证。我知道这是非常合乎逻辑的,因为它基本上不是源代码库,而是底层的 Maven 代码库。但是有没有办法让maven正常访问这个依赖呢?我的图书馆位于公共仓库中。

PS 请不要建议使用 Jitpack,因为我希望拥有干净的解决方案而不需要任何额外的资源。

maven github-package-registry

7
推荐指数
1
解决办法
3563
查看次数

如何运行从 GitHub Packages 提取的 Docker Compose 镜像

我已经在 GitHub Packages 上推送了一个 Docker 镜像,现在我想拉取它并使用它。为了在本地运行图像,我曾经转到相关文件夹并使用命令运行它docker-compose up。然而现在,通过从 GitHub Packages 拉取,我只是获得了没有任何文件夹的 Docker 映像,而且我不知道如何运行它。

通过检查图像,它具有与原始文件夹相关的所有文件,但是当我尝试运行该docker-compose up ghcr.io/giuliomat/bdt-project命令时,我收到一条错误消息,指出目录中没有 docker-compose.yml。如果我只使用该命令,docker run ghcr.io/giuliomat/bdt-project它将运行 docker-compose.yml 文件中指定的两个服务之一。如何正确运行 Docker Compose 镜像?提前致谢!

更新:我尝试更好地解释自己。图像中有一个 Dockerfile(现在我已在问题中上传),用于构建 Web 服务。我在本地开发了该映像,并且使用 运行它没有问题docker-compose up,但现在我想了解当用户从我的 GitHub 包中提取它时必须执行哪些操作才能运行它,这就是我的问题。拉取的映像应该具有运行所需的所有元素,但我不知道使用什么命令来告诉 Docker 运行 docker-compose.yml 文件中指定的两个服务,因为当用户从 GitHub 中拉取包时,它只获取图像,但没有运行的文件夹docker-compose up

Dockerfile:

在此输入图像描述

docker-compose.yml:

在此输入图像描述

拉取的 docker 镜像的内容:

在此输入图像描述

docker docker-compose github-package-registry

7
推荐指数
1
解决办法
9043
查看次数

GitHub 操作:NPM 发布失败并出现 ERR!代码 ENEEDAUTH

我尝试实现使用 GitHub Actions 发布和安装包的官方指南:使用细化权限验证包注册表

失败:

npm ERR! code ENEEDAUTH
npm ERR! need auth This command requires you to be logged in to https://npm.pkg.github.com
npm ERR! need auth You need to authorize this machine using `npm adduser`
Run Code Online (Sandbox Code Playgroud)

包.json

npm ERR! code ENEEDAUTH
npm ERR! need auth This command requires you to be logged in to https://npm.pkg.github.com
npm ERR! need auth You need to authorize this machine using `npm adduser`
Run Code Online (Sandbox Code Playgroud)

.github/workflow/ci.yml

{
  "name": "@charneykaye/banana",
  "version": "4.0.6",
  "repository": "git@github.com:charneykaye/banana",
  "description": "made by …
Run Code Online (Sandbox Code Playgroud)

node.js npm npm-publish github-actions github-package-registry

7
推荐指数
1
解决办法
6303
查看次数

作为一个组织,如何将私有 npm 包发布并安装到 GitHub 包?

我们有一个带有名为“@myorganization/common”的共享包的 monorepo,该包由应用程序和 Google 云功能使用。

Google 云函数要求将包发布到存储库才能使用它,因为我们不发布编译后的代码(可以包含本地包),而是直接发布原始 TypeScript。

我找到了一些教程,但没有找到结合私有包和组织的用例。

我 cd 进入 packages/common 目录。

我将以下几行添加到我的 packages.json 中:

"publishConfig": { "registry": "https://npm.pkg.github.com/" },
"repository": {
  "url": "git@github.myorganization/common.git"
},
Run Code Online (Sandbox Code Playgroud)

我在 GitHub 上创建了一个个人身份验证令牌,具有完整的存储库、包和组织权限。

然后我登录到我的组织:

npm login --registry=https://npm.pkg.github.com --scope=@myorganization
Run Code Online (Sandbox Code Playgroud)

然后我打了:

npm publish
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

npm ERR! code EPRIVATE
npm ERR! This package has been marked as private
npm ERR! Remove the 'private' field from the package.json to publish it.
Run Code Online (Sandbox Code Playgroud)

我希望这个包只能由组织成员使用。当 React Native 使用时,它应用作 lerna monorepo 中的本地私有包,并且通过从 GitHub 包获取它来由 Google Cloud Function 使用。但其他人无法访问它。

这是可能的事吗?

问候

编辑:

我尝试更新 …

npm google-cloud-functions lerna monorepo github-package-registry

6
推荐指数
1
解决办法
3047
查看次数

如何从 Github 包注册表下载特定发布版本的 JAR

目标

我想要两个存储库:

  • 存储库 A:将 JAR 发布到 Github 注册表

  • 存储库 B:从 A 下载 JAR 并发布包含 JAR 的 Docker 映像。


即我正在寻找一个如下所示的 API:

wget https://github.com/repoOwner/repoName/packages/1.2.3/my.jar
Run Code Online (Sandbox Code Playgroud)

问题

是否有 Github Action 或 API 允许我从 Github 包注册表下载特定版本的工件?

问题

我知道有一个用于工件的 Github API,但我不知道如何请求特定版本的工件 URL 。

github-actions github-package-registry

6
推荐指数
1
解决办法
5717
查看次数