【问题标题】:how to CICD using AWS CodePipeline if source repository is Gitlab如果源存储库是 Gitlab,如何使用 AWS CodePipeline 进行 CICD
【发布时间】:2020-10-02 23:06:46
【问题描述】:

AWS 文档说我们可以使用 S3、lambda 等,但仍然不知道如何使用。这个链接提到了某种方式,但里面的链接是无效的..... https://aws.amazon.com/blogs/devops/integrating-git-with-aws-codepipeline/

【问题讨论】:

    标签: gitlab aws-codepipeline


    【解决方案1】:

    您可以使用this guide 设置系统,以便您的 git 存储库同步到 S3 存储桶。

    那么,set up the pipeline using the S3 source action

    【讨论】:

    • 谢谢!现在我已经使用 Cloudformation 创建了系统。现在当我 git push 时,我的 gitlab 确实将事件推送到 lambda,但是,不知何故,lambda 无法从 gitlab 存储库下载文件。 lambda 日志显示“正在下载...”然后超时。
    • 如果我得到 gitlab 链接,我会被重定向到 gitlab 登录链接,然后得到 404 响应。好像 lambda 中创建的链接不够用,需要提供额外信息才能登录?
    • 谢谢马修。在 lambda 函数中设置 VPC 部分后,系统现在可以正常工作,
    • Matthew Sainsbury:你知道如何将 gitlab 的 commit id 传递给 codepipeline 吗?现在 codepipeline 源代码部分显示 S3 版本 id,这与 gitlab 提交 id 无关。事实上 gitlab 已经通过了 commit_id 和其他信息。到 lambda 函数。我在想也许我可以让 lambda 将提交 id 和提交 url 传递给 codepipeline,以便我可以将提交 url 放在批准页面的代码审查部分中,并且我可以在 codepipeline 页面的某处看到提交 id?但我还不知道该怎么做。
    • 您可能必须创建一个文件作为您为代码管道生成的源工件的一部分,其中包含您想要的 git 元数据。但是,我认为 Code Pipeline 无法在控制台中向您显示该信息。
    【解决方案2】:

    您可以将您的 Gitlab 存储库镜像到 AWS CodeCommit,并将该镜像存储库用作您的管道的源操作。我认为这是实现它的最简单方法。

    How to mirror from Gitlab to AWS CodeCommit.

    How to use AWS CodeCommit as a source action for you pipeline.

    【讨论】:

    • 感谢您提供答案。设计要求我们使用 gitlab 而不是 CodeCommit 所以最后我没有使用这种方式。
    猜你喜欢
    • 1970-01-01
    • 2020-10-08
    • 1970-01-01
    • 2016-12-04
    • 2021-01-23
    • 1970-01-01
    • 2019-02-07
    • 2017-03-04
    • 2018-12-30
    相关资源
    最近更新 更多