Capistrano/Mercurial/tar"未来的时间戳"消息

Mik*_*ere 6 mercurial capistrano ruby-on-rails tar

我在使用capistrano部署rails应用程序时遇到了间歇性问题.将.gz上传到服务器后,日志显示来自tar的错误,该错误表示时间戳是将来的(请参阅下面的输出).此消息重复显示应用程序中的每个文件.

我将服务器时间与.tar.gz文件的数字名称进行了比较,确实提前了几分钟.但这与文件的实际时间戳有何关联?我如何才能正确部署我的更改?

** sftp upload /var/folders/lo/loIUAyGAHFWqSREiNHhm-E+++TI/-Tmp-/20110603143429.tar.gz -> /tmp/20110603143429.tar.gz
   [123.45.67.890] /tmp/20110603143429.tar.gz
   [123.45.67.890] done
 * sftp upload complete
 * executing "cd /home/blah/releases && tar xzf /tmp/20110603143429.tar.gz && rm /tmp/20110603143429.tar.gz"
   servers: ["123.45.67.890"]
   [123.45.67.890] executing command
** [out :: 123.45.67.890] tar: 20110603143429/.autotest: time stamp 2011-06-03 14:34:33 is 368.72042712 s in the future
** [out :: 123.45.67.890] tar: 20110603143429/.bundle: time stamp 2011-06-03 14:34:33 is 368.719540808 s in the future
** [out :: 123.45.67.890] tar: 20110603143429/.hgignore: time stamp 2011-06-03 14:34:33 is 368.719465444 s in the future
** [out :: 123.45.67.890] tar: 20110603143429/app: time stamp 2011-06-03 14:34:34 is 369.719382175 s in the future

 ** [out :: 123.45.67.890] tar: 20110603143429: time stamp 2011-06-03 14:34:49 is 383.369448435 s in the future
    command finished in 1616ms
  * executing `deploy:finalize_update'
  * executing "chmod -R g+w /home/blah/releases/20110603143429"
    servers: ["123.45.67.890"]
    [123.45.67.890] executing command
    command finished in 193ms
  * executing "rm -rf /home/blah/releases/20110603143429/log /home/blah/releases/20110603143429/public/system /home/blah/releases/20110603143429/tmp/pids &&\\\n      mkdir -p /home/blah/releases/20110603143429/public &&\\\n      mkdir -p /home/blah/releases/20110603143429/tmp &&\\\n      ln -s /home/blah/shared/log /home/blah/releases/20110603143429/log &&\\\n      ln -s /home/blah/shared/system /home/blah/releases/20110603143429/public/system &&\\\n      ln -s /home/blah/shared/pids /home/blah/releases/20110603143429/tmp/pids"
    servers: ["123.45.67.890"]
    [123.45.67.890] executing command
    command finished in 257ms
  * executing "find /home/blah/releases/20110603143429/public/images /home/blah/releases/20110603143429/public/stylesheets /home/blah/releases/20110603143429/public/javascripts -exec touch -t 201106031435.03 {} ';'; true"
    servers: ["123.45.67.890"]
    [123.45.67.890] executing command
    command finished in 1911ms
    triggering after callbacks for `deploy:update_code'
  * executing `bundle:install'
  * executing "ls -x /home/blah/releases"
    servers: ["123.45.67.890"]
    [123.45.67.890] executing command
    command finished in 140ms
  * executing "bundle install --gemfile /home/blah/releases/20110603143429/Gemfile --path /home/blah/shared/bundle --deployment --quiet --without development test"
    servers: ["123.45.67.890"]
    [123.45.67.890] executing command
 ** [out :: 123.45.67.890] sh: bundle: not found
    command finished in 158ms
*** [deploy:update_code] rolling back
  * executing "rm -rf /home/blah/releases/20110603143429; true"
    servers: ["123.45.67.890"]
    [123.45.67.890] executing command
    command finished in 261ms
failed: "sh -c 'bundle install --gemfile /home/blah/releases/20110603143429/Gemfile --path /home/blah/shared/bundle --deployment --quiet --without development test'" on 123.45.67.890
Run Code Online (Sandbox Code Playgroud)

Ry4*_*ase 5

听起来你有时钟偏差.所有涉及该过程的计算机 - 那些提交,发送,接收/部署同步的计算机?

  • 这对我来说是个问题.我的机器时钟正在增加时间.它显示了未来10分钟的日期.在本地计算机上运行`date`,然后SSH到您的服务器并在那里运行`date`.如果您比较输出并注意到更大的偏移量,您可以将时钟与例如NTP同步:`$ sudo ntpdate -s time.nist.gov` (2认同)