我目前使用s3cmd部署PHP应用的静态资产。
如果Amazon S3的资产发生了变化(如JavaScript脚本),我会手动重命名,以便新版本由Amazon Cloudfront同步并提供服务。
是否有将PHP应用程序的静态资产部署到Amazon S3的文档化实践?我已经看到网站使用哈希来引用其资产的某个部署版本。我想知道获取该哈希值的方法(比如git commit SHA?)将被Web应用程序引用。
我能看到的方法是写入一个包含当前SHA的独立配置文件,并从中读取以进行部署。
使用当前流程更新1
我希望让资产部署更加自动化:
app.23.js
重命名为app.24.js
app.24.js
develop
分支合并到master
master
分支提供服务。答案 0 :(得分:1)
我想这个问题没有具体的答案,但这里有一些事情。
如果您只想自动执行您正在进行的手动工作,那么查看一些部署工具可能是值得的。 Capistrano和Magallanes是我想到的两个名字,但你可以谷歌这个,我相信你会找到很多选择。
Rails框架建立在有最佳做事方式的理念之上。它还使用哈希来版本化静态资产,并在运行时开箱即用。您可以考虑在您的案例中实施哈希。
Grunt是您可以研究的另一种自动化工具。我发现这个模块可能会派上用场https://github.com/theasta/grunt-assets-versioning
我想对我说2,3,4是您工作流程中的问题区域。每次手动重命名和更新代码听起来不太好。正如您所指出的,GIT哈希是唯一的,因此可能会在部署期间将GIT哈希附加到您的资产并将它们同步到S3 / Cloudfront?