1

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

有没有办法用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_dir,但如果我覆盖它,我必须提供一个完全限定的路径。有没有办法$source_dir用某些版本的${boxen::config::srcdir}/${github-owner}/${name}全局替换?

4

2 回答 2

1

当我考虑像这样的 boxen manifest时,我看到您可以定义一个配置设置,例如:

# Configuration Setup
$env = {
  directories => {
    home      => '/Users/jamison',
    dotfiles  => '/Users/jamison/.dotfiles'
  },
}

为什么不在github-owner那里添加一个:

  github-owner => 'faun',

$env['github-owner']在您的source-dir覆盖中使用它(类似于L166-L175)。

于 2014-06-08T05:09:36.480 回答
1

我最终得到的配置如下所示:

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',
  }
}
于 2014-06-12T08:29:08.637 回答