首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Boxen项目清单没有解析$repo_dir

Boxen项目清单没有解析$repo_dir
EN

Stack Overflow用户
提问于 2014-02-06 18:30:41
回答 1查看 253关注 0票数 1

我正在尝试使用Boxen来设置dev环境。我们有很多的回复,我们想要拉下来,并运行一个脚本开始。我们有一个约定: repos有一个scripts/目录,其中包含一个需要运行的bootstrap脚本。

看起来,使用exec命令是可能的。但是为了告诉它要运行什么,我必须访问回购程序的目录。其他脚本使用$repo_dir${boxen::config:srcdir}/${name}。我尝试过每一种方法,以及许多不同风格的exec,但都没有效果。

宣言

代码语言:javascript
复制
class projects::hero {

  include ruby

  boxen::project { 'hero':
    ruby          => '2.0.0',
    source        => 'myorg/hero'
  }
  ->
  Exec {
    command       => '$repo_dir/scripts/echo'
  }
  ->
  notify {'hero is running at $srcdir':}
}

这比规定的目标简单得多。脚本需要在它们所在的目录中运行。因此,我的第一个(也希望是最终的)清单对于exec步骤会有类似的内容:

代码语言:javascript
复制
->
exec { 'running bootstrap on hero':
  command         => '$repo_dir/scripts/bootstrap',
  cwd             => '$repo_dir/scripts'
}

脚本

现在,scripts/echo非常简单:

代码语言:javascript
复制
#!/bin/bash
echo "Echo File!"
touch `date`

由于输出不会被真正看到,所以我们用日期创建了一个文件,这样我们就可以观察到这个副作用,并且知道脚本实际运行了。

叫boxen

我直接从manifests目录调用这个项目:

代码语言:javascript
复制
Chris:manifests chris$ boxen hero

输出量

代码语言:javascript
复制
Warning: Scope(Class[Boxen::Environment]): Setting up 'hero'. This can be made permanent by having 'include projects::hero' in your personal manifest.
Error: Could not find resource 'command => $repo_dir/scripts/echo' for relationship from 'Boxen::Project[hero]' on node chris.local
Error: Could not find resource 'command => $repo_dir/scripts/echo' for relationship from 'Boxen::Project[hero]' on node chris.local

如果我尝试使用${boxen::config::srcdir},这也是正确的。看看其他的例子,这些变量被使用了,并且看起来很有效。我是不是说错了?我应该使用不同的变量吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-09 08:26:25

我注意到你的清单上有两个错误:

代码语言:javascript
复制
->
Exec {
    command       => '$repo_dir/scripts/echo'
}
->

第一种情况是,你把主管的第一个字母大写了。在傀儡语言中,这意味着您要为所有后续的exec资源定义(文档)指定默认值。这本身并不是一个资源定义,因此不能应用资源排序,因此出现了错误。

另一个错误是将单引号与变量结合使用。单引号字符串被解释为文字。换句话说,'$repo_dir'被字面上解释为$repo_dir,而"$repo_dir"被解释为变量$repo_dir (文档)的内容。

希望这能帮上忙

祝好运

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21611091

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档