【问题标题】:How can I configure $source_dir to match /Users/${user}/src/${github-owner}/${project}?如何配置 $source_dir 以匹配 /Users/${user}/src/${github-owner}/${project}?
【发布时间】:2014-06-08 04:35:23
【问题描述】:

我是 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} 的某个版本?

【问题讨论】:

    标签: git puppet boxen


    【解决方案1】:

    当我考虑boxen manifest like this one 时,我看到您可以定义配置设置,例如:

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

    为什么不在其中添加github-owner

      github-owner => 'faun',
    

    并在source-dir 覆盖中将其与$env['github-owner'] 一起使用(类似于L166-L175)。

    【讨论】:

      【解决方案2】:

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

      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
      猜你喜欢
      • 2013-03-28
      • 2022-12-06
      • 1970-01-01
      • 2014-12-29
      • 2017-06-12
      • 2018-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多