目前我们有一个非常简单(但有效)的发布流程。我们在SVN中标记了一个新版本。此版本将导出到测试环境。从那里我们rsync到Acceptance环境,从那里到Production。
现在我们要开始缩小css和js文件。我希望在发布到Acceptance的过程中对我们的测试环境进行缩小,这样在Acceptance环境和Production环境中我们都缩小了文件。但是,如果我在那里缩小文件,时间戳会更改,并且rsync将每次传输所有css和js文件,即使缩小的内容没有更改。
我的问题是:解决这个问题的最佳做法是什么? 我应该使用与rsync不同的机制来发布新版本吗? 我应该将缩小版本放入SVN吗?但我不希望开发中的缩小文件,那么缩小(并可能合并)它们的最佳时刻是什么?
我们使用PHP 5.3.6并开始查看Yui-compressor,因为我可以在脚本中轻松使用它。
答案 0 :(得分:3)
当源文件上的时间戳比已经缩小的文件上的时间戳更新时,您应该再次缩小文件。如果你这样做,rsync将正常工作,只传输更改的文件。
如果您使用像Apache Ant或Phing这样的构建软件,这应该很容易实现。他们专门检测时间戳变化。