【问题标题】:Integrating Github Enterprise with AWS Codepipeline将 Github Enterprise 与 AWS Codepipeline 集成
【发布时间】:2019-04-20 10:49:14
【问题描述】:

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

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

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

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

【问题讨论】:

  • 您的 GitHub 企业托管在哪里?
  • 它托管在我的组织内,在我组织自己的硬件上。
  • 看起来在 Pipeline 中确实不支持 GitHub 企业,尽管 CodeBuild 支持。您可能会使用 Code Build 来弥补差距。在 appspec.yaml 中,您可以编写 AWS 或其他命令来实现此目的。

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


【解决方案1】:

更新:终于发布了一个集成,供 github 企业使用 AWS Codepipeline。 Please see this answer by Pedreiro


正如 Sid Malani 在 cmets 中所说,在 AWS CodePipeline 中使用私有托管的 GitHub Enterprise 存储库没有直接或直接的方法。

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

感谢 Sid Malani 提供替代策略

【讨论】:

    【解决方案2】:

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

    非官方:我听说 CodePipeline 对 Github Enterprise 的支持将于 2019 年下半年推出。

    【讨论】:

    • 201...2019?我希望:-)
    • @STW 感谢您的错字。我也希望:)
    • @mbunch 我仍然没有看到 Github Enterprise 作为 CodePipeline 中源步骤的选项?
    • @ShanikaEdiriweera 我可能有点过火了,我也没有在“来源”下看到它,但我确实在“管道”>“管道”下看到了它(抱歉造成混淆)
    • @mbunch GitHub Enterprise 与 GitHub 不同。 GHE 本质上是 GitHub 的私有托管版本。 CodePIpeline 不(在撰写本文时)支持 GHE。
    【解决方案3】:

    我怀疑 AWS 是否会很快发布此功能(希望我相信我的话),因为该解决方法有据可查并且运行良好。它的要点可以在here找到,我总结如下:

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

    【讨论】:

      【解决方案4】:
      猜你喜欢
      • 1970-01-01
      • 2020-12-16
      • 2020-08-17
      • 2018-11-16
      • 2019-06-05
      • 1970-01-01
      • 2014-03-08
      • 2017-10-07
      • 1970-01-01
      相关资源
      最近更新 更多