为静态网站设置 Amazon S3/Github 管道
Setting up Amazon S3/Github pipeline for static website
我有一个静态网站的 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
中一样提供?
所以你的代码是这样说的
example-site.com/dist/index.html
并且您希望它像这样,以便 index.html 可以用作静态网站:
example-site.com/index.html
如果您在 CodePipeline 中创建一个 lambda 函数,它会在代码检出到 S3 Bucket 后立即执行。 Lambda 函数将 运行 在您的 S3 存储桶上并将文件复制到上一级。
如下所示:
我有一个静态网站的 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
中一样提供?
所以你的代码是这样说的
example-site.com/dist/index.html
并且您希望它像这样,以便 index.html 可以用作静态网站:
example-site.com/index.html
如果您在 CodePipeline 中创建一个 lambda 函数,它会在代码检出到 S3 Bucket 后立即执行。 Lambda 函数将 运行 在您的 S3 存储桶上并将文件复制到上一级。
如下所示: