cap 部署时,releases 中生成的目录名是时间戳,但是不是东八区,而是 0 时区 这样的话,看起来就不太方便,有时候需要自己去算,看看上次部署是什么时候。 有没有解决方案?哪里可以配置时区?
这得去看源码了。
所有记录都应该用 UTC 表示,使用的时候对应转换至本地时区。用东八区作为 timestamp 无论是数据库还是文件系统都不是个好主意。
#1 楼 @Rei 看了一下:
env.rb 取了 timestamp
def release_timestamp env.timestamp.strftime("%Y%m%d%H%M%S") end
configuration.rb 生成的时候的确是 UTC
def timestamp @timestamp ||= Time.now.utc end
所以将本机的 configuration.rb 文件里面 80 行.utc 删掉就是本地时间了(也许我应该考虑给他们提个 pull request?) ::
#2 楼 @kgen 我决定不提了。。
#4 楼 @ericguo 你可以打个 monkey patch。
我也觉得 UTC 好。
#4 楼 @ericguo 这个。。。决定不提的原因是? #6 楼 @Rei 看了 2 位的讨论,我也好像觉得 UTC 比较好了。。。
#2 楼 @kgen 嗯,有道理,支持。。。就像 php 所有编码都应该用 utf8 一样。。。
想看上次部署是什么时候这个需求,似乎可以写成一个 cap 的插件吧 列出服务器上所有的 releases,显示的时区作为参数或者配置(默认可以使用本地机器的时区) 甚至还可以加上按时间段筛选的功能……