【问题标题】:Composer update ran via puppet times outComposer 更新通过 puppet 超时运行
【发布时间】:2013-12-22 11:01:50
【问题描述】:

我正在使用 composer 来管理依赖项。基本上我想做的是在vagrant up 运行时在puppet config 中自动运行composer update

我正在使用 puphpet 为 vagrant 生成 puppet 文件。

我在default.pp 文件的这段代码中添加了composer::exec 部分:

if $php_values['composer'] == 1 {
  class { 'composer':
    target_dir      => '/usr/local/bin',
    composer_file   => 'composer',
    download_method => 'curl',
    logoutput       => true,
    tmp_path        => '/tmp',
    php_package     => "${php::params::module_prefix}cli",
    curl_package    => 'curl',
    suhosin_enabled => false,
  }

  composer::exec { 'composer-update':
    cmd             => 'update',
    cwd             => '/var/www/myproject'
  }
}

有时我会在输出中收到此错误:

Error: Command exceeded timeout
Error: /Stage[main]//Composer::Exec[composer-update]/Exec[composer_update_composer-update]/returns: change from notrun to 0 failed: Command exceeded timeout

木偶作曲家中没有timeout属性。

如何解决?

【问题讨论】:

  • 这是一条 puppet 错误消息。您可以尝试将 exec 任务的“超时”设置为更长。顺便说一句,您知道您可能应该运行“composer install”而不是更新。
  • 如果我通过 ssh 登录,我可以运行 composer update 并且它可以工作。据我所知,如果你没有 composer.json,你需要运行 composer install,但我有。 puppet composer exec 命令中没有超时属性:(
  • 不,'composer install' 是您在生成锁定文件时要做的事情 - getcomposer.org/doc/… 以避免在实时服务器上运行更新。

标签: php ubuntu vagrant composer-php puppet


【解决方案1】:

看看http://docs.puppetlabs.com/references/latest/type.html#exec-attribute-timeout - 可以为 exec 资源设置超时。如果木偶作曲家模块没有提供覆盖它的选项,它真的应该是 IMO。如果碰巧是作曲家本身超时,而不是 puppet exec,你会想尝试

export COMPOSER_PROCESS_TIMEOUT=600

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-16
    • 1970-01-01
    • 2017-06-22
    • 1970-01-01
    • 2016-08-28
    • 2012-06-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多