Как вы и предполагали, вы не можете ограничить область действия токена личного доступа разными областями для разных репозиториев. Есть несколько способов сделать это.
Intermediate, publi c storage
Первый - это загрузить артефакты в промежуточное место, доступное из любого места, например Dropbox, Docker Hub, et c. Затем вы можете вручную запустить действие github в своем репозитории publi c, чтобы вернуть этот артефакт обратно и создать из него релиз. Чтобы вручную запустить это действие, вы можете использовать событие repository_dispatch
либо локально используя cURL / postman (с носителем авторизации токена доступа), либо используя что-то вроде https://www.actionspanel.app/, которое представляет собой приложение github, которое позволяет вам вручную запускать действия github, используя repository_dispatch
, с параметрами, чтобы ваша ссылка для скачивания была параметром.
Личный токен доступа
Самым простым вариантом остается персональный токен доступа, хотя , Ваш рабочий процесс выше repo_token: XXXXXXXXX
, который заставляет меня задуматься, знаете ли вы о секретах github? В идеале этот токен должен храниться в секрете, а затем вызываться с помощью ${{ secrets.BRANDONS_TOKEN }}
. Я хотел бы спросить, почему вы беспокоитесь о личном маркере доступа. Если вы используете секреты github и внимательно относитесь к стороннему коду, которому вы передаете токен (например, вы можете не захотеть просто передавать свой токен на @master
), все будет в порядке.
GitHub Apps & Webhooks
GitHub приложения или веб-хуки - это другой способ, вы можете аутентифицировать их для каждого человека и для каждого репо, но вам нужно приложение, работающее онлайн, чтобы получать и парсинг сообщений и его довольно большой труд. используйте их для получения доступа на чтение / запись к одному репозиторию без присоединенной учетной записи Затем этот ключ развертывания будет храниться в секрете в настройках другого репо. Однако я не уверен, что вы можете запускать выпуски с помощью ключей развертывания - они не привязаны к учетной записи, поэтому я не уверен, чье имя пользователя будет отображаться в истории выпусков.