我试图通过CodeDeploy将S3桶中的静态网站的内容连接到CodeCommit repo。
然而,当我通过CodeCommit和CodeDeploy Pipeline建立一个repo时,当我将更改推送到HTML文件的S3桶时,静态HTML页面不会加载,而是我的浏览器屏幕短暂闪烁或下载HTML文件。
我知道我已经正确配置了S3桶,因为当我通过它的公共URL测试我的。html文件时,它按预期加载。
另外,当我通过S3桶下载HTML文件时,在我推送提交更改之前,同样的文件下载。但是,当我从S3下载新提交的HTML文件时,它已损坏。这让我认为这是我如何配置CodeDeploy的问题,但无法弄清楚。
我相信我已经正确配置了头信息
S3 Bucket policy桶策略允许读取对象。CodePipeline成功地将我的回购更改推送到我的S3 Bucket。但是由于某种原因,即使S3仍然将文件类型视为HTML,但在CodeDeploy推送之后,它并没有这样配置。此外,当我尝试下载新推送的HTML文件并打开它时,HTML代码都是混乱的。
任何帮助或见解都是感激的。
找到了!我(偶然)找到了解决办法。
只是为了防止其他人遇到这个问题:在CodePipeline中配置部署管道时,如果您没有选择"在部署之前提取文件";在部署配置步骤中,CodePipeline将把所有提交HTML文件的代码(我假设还有其他文件类型)部署为"octet-stream"。启用"在部署前提取文件";修复此问题。
现在我今晚终于可以睡觉了!