Подтвердить что ты не робот

AWS CodePipeline не может получить доступ к репозиториям Организации

Я пытаюсь настроить конвейеры непрерывного развертывания в AWS Codepipeline.

При создании конвейера я предоставляю "Поставщик источника" как GitHub, а затем подключаюсь к GitHub. Я могу увидеть свои общедоступные репозитории в раскрывающемся списке "Репозиторий" в странице "Создать трубопровод". Но в этом раскрывающемся списке я не могу видеть свои репозитории в своей организации. У меня есть доступ на запись в организации.

Как я могу сделать AWS Codepipeline доступ к репозиториям моих организаций.

4b9b3361

Ответ 1

AWS CodePipeline требует двух Интеграция продуктов и сервисов с AWS CodePipeline: интеграция с инициаторами действий:

[...] Вы можете подключиться к Репозиторий GitHub путем создания нового конвейера или редактирования существующий. В первый раз, когда вы добавляете репозиторий GitHub в трубопровода, вам будет предложено разрешить доступ к AWS CodePipeline для ваши репозитории.. Чтобы интегрироваться с GitHub, AWS CodePipeline использует OAuth и требует двух областей GitHub: admin:repo_hook, что используется для обнаружения, когда вы совершили и нажали изменения в репозиторий и repo, который используется для чтения и вытаскивания артефактов из публичные и частные хранилища в трубопровод. Чтобы получить больше информации о областях GitHub, см. Справочник API разработчика GitHub.
Доступ для AWS CodePipeline настроен для всех репозиториев, для которых У учетной записи GitHub есть доступ; в настоящее время он не может быть настроен для отдельные репозитории.
[акцент мой]

Теперь, хотя вы, вероятно, это сделали, возможно, что ваша организация настроена так, что она не предоставляет доступ по умолчанию (хотя это видно и настраивается при авторизации нового приложения/услуги, его легко упускать из виду) - здесь соответственно. Подсказка GitHub:

До тех пор, пока доступ не будет предоставлен владельцем, приложение не сможет получить доступ к личным данным организации или изменить свои общедоступные данные.

Если вы являетесь владельцем организации, вы можете явно предоставить доступ, выполнив обратные инструкции, указанные в указанной документации CodePipeline GitHub:

Вы можете отменить этот доступ из GitHub, выбрав "Настройки", выбрав " Приложения, а затем, в разделе Авторизованные приложения, нахождение AWS CodePipeline в списке разрешенных приложений и выборе Отозвать. [...]

То есть перейдите в свой профиль GitHub = > Настройки = > Приложения = > AWS CodePipeline и нажмите кнопку Grant access для каждой применимой организации.

Ответ 2

Следующий шаг может потребоваться для вашей организации (хотя зависит от конфигурации).

На Github,

  1. Нажмите на свой профиль Аватар, затем перейдите в "Настройки".
  2. Перейдите в "Приложение" из меню.
  3. Выберите вкладку "Авторизованные приложения OAuth".
  4. Выберите CodePipeline, предоставьте организации доступ к нему.

Ответ 3

Мы столкнулись с той же проблемой. Для этого требуется разрешение уровня администратора Repo. Таким образом, вам придется запросить у вашей организации доступ администратора к репо. Мы закончили создание пользователя службы с помощью admin repo прямо в частном org repo, а затем мы могли получить доступ к инструментарию CI.