我已成功将@ myorganization / my-super-lib部署为GH npm软件包。现在,我想在其他GH项目中使用它。
这是一个私有库,也是一个私有项目(要记住,重要的是要讨论公共项目)。
在本地,没问题,只需在我的npm配置中添加带有我的个人令牌的正确authtoken配置。
现在,当使用Github Actions时,我不确定令牌访问库包的优雅解决方案。该文档说要使用个人文档,但是如果我离开组织该怎么办?我也可以为此使用专门的技术帐户,但这似乎不是“正确的”解决方案。
有人有更好的主意吗?
注释后编辑:起初我以为我可以简单地使用GITHUB_TOKEN,但仅限于访问当前存储库,从安全角度考虑后,这是合乎逻辑的。
答案 0 :(得分:1)
要使用Github操作安装私有github软件包,您还需要在
actions/setup-node@v1
:定义程序包注册表的范围npm install
:将personal access token与read, repo
一起使用。该令牌应由有权访问您使用的私有github软件包的任何github帐户创建,并存储为使用该操作的回购协议的秘密。 注意:--ignore-scripts
是一个可选标志,可增加针对恶意脚本的额外保护,这些脚本可能窃取您的个人访问令牌
示例:
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: '12.x'
registry-url: 'https://npm.pkg.github.com'
scope: '@antecha'
- run: npm install --ignore-scripts
env:
NODE_AUTH_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
更新:
回购示例:https://github.com/antecha/survey
答案 1 :(得分:0)
我个人使用该脚本(.github/workflows/my-super-workflow-file.yml
)
name: CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Setup node
uses: actions/setup-node@v1
with:
node-version: '10.x'
registry-url: 'https://npm.pkg.github.com'
- run: npm install --ignore-scripts
env:
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: npm test
答案 2 :(得分:0)
currently没有比使用个人访问令牌更好的选择,即:
read:packages
访问令牌