将Github Enterprise与AWS Codepipeline集成

时间:2018-11-17 13:08:55

标签: amazon-web-services github aws-codepipeline github-enterprise

我在[公司托管] GitHub企业站点中有一个存储库,我需要使用CodePipeline服务将其集成到AWS的CI / CD管道中。然后,CodePipeline服务将与在EC2实例中运行的Jenkins服务连接。我正在遵循此AWS documentation来执行此操作。

请注意,这是企业GitHub存储库,而不是托管在GitHub.com上。

我无法在“创建管道”向导中连接到GitHub Enterprise网站。选择GitHub作为来源只能使我连接到GitHub.com,而不能连接到我组织的企业站点。

如何连接到企业GitHub网站,以便可以将存储库添加为代码管道的源?

4 个答案:

答案 0 :(得分:2)

我怀疑AWS是否会在不久的将来发布此功能(希望我能如愿以偿),因为该解决方法有据可查且可以正常运行。其要旨可以在here中找到,我将总结如下:

  1. 创建一个CodeBuild项目(可以将GitHub Enterprise作为源代码),该项目实际上只是侦听您的开发或master分支的push事件(webhook),并将源代码的.zip文件输出到S3存储桶中。
  2. 使用S3存储桶作为您的CodePipeline的来源。

答案 1 :(得分:1)

正如Sid Malani在评论中所说,没有直接或直接的方法在AWS CodePipeline中使用私有托管的GitHub Enterprise Repository。

一种方法是使用CodeBuild which allows to add custom github repositories,然后可以在CodePipeline中使用它。但是,这仅应视为权宜之计。

感谢Sid Malani的替代策略

答案 2 :(得分:1)

答案 3 :(得分:0)

有一种方法可以将第三方Git存储库与AWS CodePipeline集成。 AWS suggested the following process。它使用S3存储桶以及API网关和Lambda将Github企业存储库连接到CodePipeline。这不是理想的方法,但是可以工作。

非官方的:我听说对Github Enterprise的CodePipeline支持将在201下半年退出。