#github #pipeline #github-actions
Вопрос:
Я пытаюсь проверить частное репо внутри своего конвейера GitHub, и ниже приведен мой код конвейера,
build:
runs-on: ubuntu-latest
steps:
- name: Checkout pickezy backend
uses: actions/checkout@v2
with:
repository: Madurad/jenkinsfiles
token: ${{ secrets.GITHUB_TOKEN }}
ref: master
Но когда я запускаю это, я получаю следующую ошибку: «репозиторий не найден», но он находится в моей организации githiub. и это частное репо.
Это не похоже на ошибку аутентификации. Не мог бы кто-нибудь, пожалуйста, помочь мне решить эту проблему? Я что-нибудь пропустил?
Ответ №1:
Вы можете заметить в документации Github, что GITHUB_TOKEN
у него нет всех доступных разрешений.
В данном конкретном случае требуется разрешение на доступ к закрытому хранилищу.
Если вы хотите выполнять определенные операции в своих рабочих процессах, связанных с другими разрешениями, вам необходимо создать PAT (Личный токен доступа) с требуемыми разрешениями и использовать его вместо GITHUB_TOKEN
(добавление в качестве секрета).
В вашем случае рабочий процесс будет выглядеть следующим образом:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout pickezy backend
uses: actions/checkout@v2
with:
repository: Madurad/jenkinsfiles
token: ${{ secrets.PAT }}
ref: master
Комментарии:
1. Я попробовал так, как вы сказали, но теперь получаю другую ошибку «Ошибка: требуется ввод и не указан: токен».
2. Вы создали Маркер личного доступа и добавили его в качестве секрета хранилища? Эта ошибка обычно возникает, когда секрет пуст.