удаленно: Репозиторий не найден в конвейере GitHub

#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. Вы создали Маркер личного доступа и добавили его в качестве секрета хранилища? Эта ошибка обычно возникает, когда секрет пуст.