目前我有以下代码:
name: Build-All
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build-linux-64:
name: ${{ matrix.config.name }} Build
runs-on: ${{ matrix.config.os }}
strategy:
fail-fast: true
matrix:
config:
- os: ubuntu-latest
name: Ubuntu 64
other_linker_flags: '-m64'
arch: x86_64
output: myLib.so
steps:
- name: Make fake file
run: |
echo "hello" > ${{ github.workspace }}/test.txt
- name: Uploading Release
uses: ollydev/upload-release-action@master
with:
repo_token: XXXXXXXXX
file: '${{ github.workspace }}/test.txt'
asset_name: "test"
tag: autobuild
owner: '${{ github.repo.owner }}'
repo: 'B'
overwrite: true
和两个回购:A和B。
回购 A 具有上述 yml 作业,它是一个私人回购。它拥有所有代码,对其进行编译,并希望将发布推送到公开的 repo B。
为此,我创建了一个新的 github 帐户My-CI
,并将其添加到私人仓库和公共仓库中。然后,在那个新帐户上,我创建了一个Personal access token
with 范围:public_repo
就是这样。该代码有效..但是有没有办法不必创建一个单独的帐户只是为了让它作为一个 CI 访问两个存储库?IE:有没有一种方法可以在我的真实账户上创建一个对一个 repo 只读而对另一个 repo 读写的令牌?或者可能创建一个 github 应用程序令牌或只能为一个 repo (B) 上传版本的东西?