Интеграция Github Enterprise с AWS Codepipeline
У меня есть репозиторий на корпоративном сайте GitHub [в компании], который мне нужно интегрировать в конвейер CI/CD в AWS с помощью сервиса CodePipeline. Затем служба CodePipeline подключится к службе Jenkins, работающей в экземпляре EC2. Я следую этой документации AWS, чтобы сделать это.
Обратите внимание, что это корпоративное хранилище GitHub, а не размещенное на GitHub.com.
Я не могу подключиться к сайту GitHub Enterprise в мастере "Создание конвейера". Выбор GitHub в качестве источника позволяет мне подключаться только к GitHub.com, а не к корпоративному сайту моей организации.
Как подключиться к корпоративному сайту GitHub, чтобы я мог добавить репо в качестве источника моей кодовой линии?
1 ответ
Как сказал в своих комментариях Сид Малани, в AWS CodePipeline нет прямого или прямого способа использовать частный репозиторий GitHub Enterprise.
Одним из способов является использование CodeBuild, которое позволяет добавлять собственные репозитории github, которые затем можно использовать в CodePipeline. Это, однако, следует рассматривать только как временное решение.
Спасибо Sid Malani за альтернативную стратегию
Я сомневаюсь, что AWS предоставит эту функцию в ближайшее время (надеюсь, я ем свои слова), поскольку обходной путь хорошо документирован и отлично работает. Суть этого можно найти здесь, и я резюмирую ее следующим образом:
- Создайте проект CodeBuild (который может принимать GitHub Enterprise в качестве источника), который по сути просто прослушивает событие push (веб-перехватчик) вашей разработки или основной ветки и выводит файл.zip с исходным кодом в корзину S3.
- Используйте корзину S3 в качестве источника вашего CodePipeline.
Наконец-то была выпущена официальная интеграция.
Вот документация:
https://docs.aws.amazon.com/codepipeline/latest/userguide/connections-ghes.html
Существует способ интеграции сторонних репозиториев Git с AWS CodePipeline. AWS предложила следующий процесс. Он использовал S3-контейнеры, шлюзы API и Lambdas для подключения корпоративных репозиториев Github к CodePipeline. Это не идеально, но это может работать.
Неофициально: я слышал, что поддержка CodePipeline для Github Enterprise выйдет во второй половине 201 года.