如何将 NPM 包发布到具有内部可见性的 GitHub 个包?
How to publish NPM packages to GitHub packages with internal visibility?
GitHub Enterprise 似乎有一个设置可以使已发布的包对 Enterprise 可见(“内部”而不是“私有”)。我已在组织包设置下启用该选项。
但是,我的包仍然发布为“私有”。如何发布可见性为“内部”的包?
看文档,应该有granular access package configuration。我没有看到这样的选项。
我怀疑它与此有关:“同步存储库后,您将无法访问包的精细访问设置。要通过精细包访问设置自定义包的权限,您必须删除已同步存储库第一。
“同步”存储库是什么意思以及如何删除此类同步(如文档所示)?
更新:我可以使用对存储库具有读取权限的用户的 PAT 来访问该包。但是,我希望能够在另一个回购协议(同一企业)的 GitHub 操作中使用 default GitHub token。然而,这失败了。
这至少对 npm/js 包有效,但我相信 Github 错误地将包标记为“私有”,而实际上它们的意思是“内部”。也就是说,它们对包使用的命名法与对存储库的命名法不同。 (我同意这令人困惑)
我发布了内部 NPM 包:
npm publish --access public # yes, it MUST be 'public'
(在 npm login
之后,使用我的 Github 组织凭据)
然后我在组织包列表中看到它们被标记为 'private'。
但是,我(和组织中的其他人)确实可以 install/consume 来自其他(内部)存储库的它们,只要我们将 NPM 指向内部注册表并使用适当的 PAT 授权即可:
npm install @example-org/example-npm-module --registry=https://npm.pkg.github.com --_authToken=<PAT>
请注意,您必须对 read/install 已发布的包使用 PAT。出于某种原因,Github 不允许我们使用默认值 GITHUB_TOKEN:
To authenticate to a GitHub Packages registry within a GitHub Actions
workflow, you can use:
- GITHUB_TOKEN to publish packages associated with the workflow
repository.
- a PAT to install packages associated with other private
repositories (which GITHUB_TOKEN can't access).
GitHub Enterprise 似乎有一个设置可以使已发布的包对 Enterprise 可见(“内部”而不是“私有”)。我已在组织包设置下启用该选项。
但是,我的包仍然发布为“私有”。如何发布可见性为“内部”的包?
看文档,应该有granular access package configuration。我没有看到这样的选项。
我怀疑它与此有关:“同步存储库后,您将无法访问包的精细访问设置。要通过精细包访问设置自定义包的权限,您必须删除已同步存储库第一。
“同步”存储库是什么意思以及如何删除此类同步(如文档所示)?
更新:我可以使用对存储库具有读取权限的用户的 PAT 来访问该包。但是,我希望能够在另一个回购协议(同一企业)的 GitHub 操作中使用 default GitHub token。然而,这失败了。
这至少对 npm/js 包有效,但我相信 Github 错误地将包标记为“私有”,而实际上它们的意思是“内部”。也就是说,它们对包使用的命名法与对存储库的命名法不同。 (我同意这令人困惑)
我发布了内部 NPM 包:
npm publish --access public # yes, it MUST be 'public'
(在 npm login
之后,使用我的 Github 组织凭据)
然后我在组织包列表中看到它们被标记为 'private'。 但是,我(和组织中的其他人)确实可以 install/consume 来自其他(内部)存储库的它们,只要我们将 NPM 指向内部注册表并使用适当的 PAT 授权即可:
npm install @example-org/example-npm-module --registry=https://npm.pkg.github.com --_authToken=<PAT>
请注意,您必须对 read/install 已发布的包使用 PAT。出于某种原因,Github 不允许我们使用默认值 GITHUB_TOKEN:
To authenticate to a GitHub Packages registry within a GitHub Actions workflow, you can use:
- GITHUB_TOKEN to publish packages associated with the workflow repository.
- a PAT to install packages associated with other private repositories (which GITHUB_TOKEN can't access).