我试图通过运行npm install
在github工作流ci中安装npm依赖项。但是,我得到以下错误:
npm ERR! Error while executing:
npm ERR! /usr/bin/git ls-remote -h -t ssh://git@github.com/private-org/private-repo.git
npm ERR!
npm ERR! Warning: Permanently added the RSA host key for IP address 'removed' to the list of known hosts.
npm ERR! git@github.com: Permission denied (publickey).
npm ERR! fatal: Could not read from remote repository.
ci.yml
name: CI
on:
push:
branches: [master ]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Use Node.js
uses: actions/setup-node@v1
with:
node-version: '12.x'
- run: node --version
- run: npm install
包裹json
...
"dependencies": {
"some-pacakage": "git+ssh://git@github.com/private-org/private-repo.gitt",
},
...
npm正在通过github安装此某些软件包。回购在运行工作流的同一组织内。要在本地解决此问题,请在与组织绑定的github帐户上设置ssh密钥。
但我如何解决这个问题,使其能够通过github repo在workfow ci中安装该软件包,而我不使用我的个人github帐户。
从Travis
迁移到GitHub Actions
时,我遇到了类似的问题。
基本上,您需要做的是如何Git
获取您的远程存储库。在包中。json
,“gitssh://git@使用github.com/private org/private repo.gitt“
。因此,它试图使用ssh访问密钥获取repo。如果不添加访问密钥,它将失败。
相反,我们要做的是重新配置Git以使用HTTP身份验证。
下面是我如何在我的GitHub操作工作流中使用它的。我已将我的
GitHub PAT令牌添加为GitHub操作中的秘密
GA_令牌
。
- name: Reconfigure git to use HTTP authentication
run: |
git config --global url.https://${{ secrets.GA_TOKEN }}@github.com/.insteadOf ssh://git@github.com/
参考
私有存储库正在通过ssh安装。如果您在管道中设置了ssh密钥,它将在尝试安装时使用该ssh密钥。
幸运的是,有一个github操作允许我们这样做https://github.com/webfactory/ssh-agent
以上npm安装添加以下内容:
- uses: webfactory/ssh-agent@v0.2.0
with:
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
设置/先决条件
https://github.com/webfactory/ssh-agent#usage
>
确保私钥上没有设置密码短语。
在存储库中,转到“设置”
标准令牌没有足够的权限:
令牌的权限仅限于包含工作流的存储库。有关更多信息,请参阅“GITHUB_令牌的权限”。
您必须手动创建个人访问令牌,以访问包:
如果您需要一个令牌,它需要在GITHUB_TOKEN
中不可用的权限,您可以创建一个个人访问令牌,并将其设置为存储库中的秘密:
${{secrets.secret\u NAME}
语法引用它。有关更多信息,请参阅“创建和使用加密机密”
来源:https://help.github.com/en/actions/configuring-and-managing-workflows/authenticating-with-the-github_token
问题内容: 我正在尝试通过npm安装github私有存储库,其中包括其他私有github存储库作为依赖项。 尝试了很多方法和帖子,但是都没有用。这是我在做什么: 在package.json中就像: 正确的方法是什么? 问题答案: 以下在我需要的所有情况下都可以正常工作:
我正试图通过遵循本教程,使用GitHub操作构建docker映像并将其推送到Amazon ECR 我正在尝试为此repo设置GitHub操作,因此我在<代码>中创建了一个新的工作流。github/workflows目录。 DockerFile已成功创建并生成。 现在,在创建
问题内容: 我希望Jenkins从托管在Github上的私有存储库自动获取数据。但是我不知道如何完成该任务。尝试了文档,为jenkins用户生成了ssh- key,我所看到的就是:“无法克隆存储库”。我已经检查过网址-它们是有效的。 任何线索,也许您知道一些描述此类内容的文档/博客/内容? 问题答案: 也许GitHub 对您正在寻找的部署密钥提供支持?引用该页面: 什么时候应该使用部署密钥? 很简
错误------------------------------------------------- npm安装失败,代码为%1 npm错误!代码为npm错误!syscall spawn git npm错误!路径git npm错误!errno ENOENT npm err!执行时发生错误:npm错误!Enent未定义的ls-remote-h-t ssh:/git@github.com/priva
根据这些说明,我将Maven包部署到github。https://help.github.com/en/github/managing-packages-with-github-packages/configuring-apache-maven-for-use-with-github-packages#installing-a-package 这起作用了。 现在,我正在安装第二个Maven项目,它