我在组织(比如 ORG)中有 2 个私有(private) GitHub 存储库(比如 A 和 B)。存储库 A 在 requirements.txt
中有存储库 B :
-e git+git@github.com:ORG/B.git#egg=B
我对 A 有以下工作流程(在 .github/workflows/test.yml
中):name: Python package
on: push
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Install requirements
run: |
pip install -r requirements.txt
- name: Test with pytest
run: |
pytest ./tests
由于 B 是私有(private)的,因此安装它失败。如果他们在同一个组织中,是否可以在此工作流程中测试 A 时安装 B?如何?
最佳答案
由于访问 token 绑定(bind)到一个帐户并且对其所有私有(private)存储库具有写访问权限,因此这是一个非常糟糕的解决方案。
相反,请使用 deploy keys .
部署 key 只是可用于克隆存储库的 SSH key 。
设置好后,您可以在 GitHub Action 的 SSH 代理中设置私钥。无需导入第三方 GitHub Action,2-liner 就足够了。
eval `ssh-agent -s`
ssh-add - <<< '${{ secrets.PRIVATE_SSH_KEY }}'
pip install -r requirements.txt
我发现
ssh-add
命令 here .
关于python - 在操作中克隆组织内的私有(private) github 存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57612428/