如何配置$source_dir以匹配/Users/${user}/src/${github owner}/${project}?

如何配置$source_dir以匹配/Users/${user}/src/${github owner}/${project}?,git,puppet,boxen,Git,Puppet,Boxen,我是Boxen的新手,我正在尝试创建一个项目清单,为给定的项目指出正确的路径。我在与github URL匹配的/Users/${user}/src/${github owner}/${repo}中组织源代码 有没有办法让boxen做到这一点 例如,以下是我对基本静态站点的配置: class projects::blog { boxen::project { 'blog': server_name => 'faun.dev', source => 'fau

我是Boxen的新手,我正在尝试创建一个项目清单,为给定的项目指出正确的路径。我在与github URL匹配的
/Users/${user}/src/${github owner}/${repo}
中组织源代码

有没有办法让boxen做到这一点

例如,以下是我对基本静态站点的配置:

class projects::blog {
  boxen::project { 'blog':
    server_name => 'faun.dev',
    source      => 'faun/blog',
    ruby        => '2.0.0-p353',
    nginx       => "projects/shared/nginx.middleman.conf.erb"
  }
}
当我运行
boxen
时,它将源代码放在
/Users/faun/src/blog
中,但它确实应该放在
/Users/faun/src/faun/blog
中。理想情况下,我希望所有项目都以这种方式工作,因为所有项目都位于所有者目录下

我试图修改
$source\u dir
,但如果我重写它,我必须提供一个完全限定的路径。是否有一种方法来替换<代码> $SooSovidir < /> >某些版本的<代码> ${xx:::COFIG::SRCIDR}/${GITHUB所有者}/${No}}//C>全局?

< P>当我考虑时,我可以定义一个配置设置,例如:

# Configuration Setup
$env = {
  directories => {
    home      => '/Users/jamison',
    dotfiles  => '/Users/jamison/.dotfiles'
  },
}
为什么不在其中添加一个
github所有者

  github-owner => 'faun',

并将其与
源目录中的
$env['github-owner']
一起使用,覆盖(类似)。

我最终使用的配置如下所示:

class projects::blog {
  boxen::project { 'blog':
    dir         => "${boxen::config::srcdir}/faun/blog",
    server_name => 'faun.dev',
    source      => 'faun/blog',
    ruby        => '2.0.0-p353',
    nginx       => 'projects/shared/nginx.middleman.conf.erb',
  }
}

反馈很好,比我的答案更完整+1.