我正在使用Elastic Beanstalk,使用CodeCommit和CodePipeline部署我的應用程序。我正在使用Smarty進行模板。爲了避免在部署我的應用程序的新版本時重新編譯所有模板,我希望將已編譯的模板文件保留在/var/app/current/
目錄之外,並在每次部署時將其刪除。Smarty文件不會使用Elastic Beanstalk,CodePipeline和CodeCommit重新編譯
但是,當我這樣做時,Smarty不更新原始模板文件更新時編譯的模板文件。我已經調查瞭解原因,並且當我查看EC2實例上的原始模板文件時,它們都有最後修改日期1979-12-31 05:08:00。
Elastic Beanstalk似乎並未在部署時保留文件的修改日期。 CodeCommit或CodePipeline中可能丟失了原始修改日期?
我的猜測是,Smarty會查看文件的修改日期以確定編譯的文件是否爲最新版本。而且,由於編譯後的模板比原始模板更新,所以即使它們不是最新的模板,它們也被認爲是最新的。
任何想法,我可以如何解決這個問題,除了每個新的部署刪除編譯模板?有沒有辦法讓Elastic Beanstalk保留修改時間?或者有什麼方法可以讓Smarty理解,除了文件的修改日期之外,模板文件已被更新?