【问题标题】:Setting up Amazon S3/Github pipeline for static website为静态网站设置 Amazon S3/Github 管道
【发布时间】:2019-12-15 11:23:38
【问题描述】:

我有一个静态网站的 github 存储库。这是一个简单的项目结构,在根目录下有一个dist/ 和一个src/ 文件夹,而该站点的index.html 位于dist/index.html。我正在尝试将它托管在 Amazon S3 存储桶中。

我设置了一个 AWS CodePipeline,它将 github 存储库中的所有项目推送到 S3 存储桶,但问题是 index.html(以及该站点的所有其他文件)在我想要的时候位于 dist/它们位于存储桶的根部。所以你必须去example-site.com/dist/index.html才能访问我想要的网站所以你只需要去example-site.com

所以 TLDR:github 存储库中的所有项目都被推送到 S3 存储桶,但我只想推送 dist/ 文件夹中的项目,我希望它们最终位于存储桶的根目录。有没有办法做到这一点?如果没有,是否有解决方法使example-site.com/dist 中的项目如同在example-site.com 中一样提供?

【问题讨论】:

    标签: amazon-web-services github amazon-s3 continuous-integration aws-codepipeline


    【解决方案1】:

    所以你的代码是这样的

    example-site.com/dist/index.html
    

    并且您希望它是这样的,以便 index.html 可以用作静态网站:

    example-site.com/index.html
    

    如果您在 CodePipeline 中创建一个 lambda 函数,该函数将在代码签出到 S3 存储桶后立即执行。 Lambda 函数将在您的 S3 存储桶上运行并将文件复制上一级。

    如下所示:

    【讨论】:

    • 该链接对我来说已损坏,但听起来它会起作用。我需要进一步研究如何在 Codepipeline 中执行 lambda 函数,但非常感谢!
    • 您指的是哪个链接?我试图给你一个出路,所以你可能需要为你的 lambda 编码以满足你的条件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-11
    • 2019-12-22
    • 2013-03-21
    • 2018-02-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多