Puppet Shell脚本生成木偶

Puppet Shell脚本生成木偶,puppet,Puppet,我是puppet新手。我创建了一个模块,并在文件文件夹中编写了一个简单的“Hello World”shell脚本。我想执行该脚本并查看结果 这是我的舱单 class module { file {'puppet_test.sh':, ensure =>present, owner =>'frank', mode =>'0755', path =>'/data/slave/jenkins/workspa

我是puppet新手。我创建了一个模块,并在文件文件夹中编写了一个简单的“Hello World”shell脚本。我想执行该脚本并查看结果

这是我的舱单

class module {
    file {'puppet_test.sh':,
        ensure =>present,
        owner =>'frank',
        mode =>'0755',
        path =>'/data/slave/jenkins/workspace/puppet_test/module/files/puppet_test.sh',
        source =>'puppet:///module//puppet_test.sh',
        notify =>Exec['run_my_script'],
    }

    # exec{'/puppet_firstscript/puppet_test.sh':require=>[File'/puppet_firstscript/puppet.sh']}
    exec{
        'run_my_script':
            command => '/data/slave/jenkins/workspace/puppet_test/module/files/puppet_test.sh',
            #refreshonly=true
    }
}
如果舱单上有任何问题,请告诉我

编辑后,这是我的木偶的init.pp

class module {
        file {'puppet_test.sh':,
        ensure =>present,
        owner =>'frank',
        mode =>'0755',
        path =>'/data/slave/jenkins/workspace/puppet_test/module/files/puppet_test.sh',
        source =>'puppet:///modules/module/puppet_test.sh',
        notify =>Exec['run_my_script'],
             }
        exec{
                'run_my_script':
                command =>'/data/slave/jenkins/workspace/puppet_test/module/files/puppet_test.sh',            
}

因此,我对您提供的代码运行了puppet lint,并得到以下错误:

WARNING: puppet:// URL without modules/ found on line 7
您给puppet://url的路径需要文件所在模块的名称。因此,使用此代码的模块应如下所示:

.
├── LICENSE
├── README.md
├── files
│   └── puppet_test.sh
├── manifests
│   └── init.pp
└── metadata.json

2 directories, 5 files
更新后的代码应如下所示:

class module {
  file {'puppet_test.sh':,
    ensure => file,
    owner  =>'frank',
    mode   =>'0755',
    path  =>'/data/slave/jenkins/workspace/puppet_test/module/files/puppet_test.sh',
    source =>'puppet:///modules/module/puppet_test.sh',
    notify =>Exec['run_my_script'],
  }

  exec{
    'run_my_script':
      command => '/data/slave/jenkins/workspace/puppet_test/module/files/puppet_test.sh',
  }
}

我尝试了更改,但出现了错误“错误:无法解析环境产品:语法错误位于“/”at/data/slave/jenkins/workspace/puppet_test/module/manifests/init.pp:58:11”。请使用错误消息以及
init.pp
文件58º行上的内容编辑您的问题。这是第58行“command/data/slave/jenkins/workspace/puppet_test/module/files/puppet_test.sh,“在命令和路径之间没有
=>
,双引号应该只在路径中。init.pp正如您所提到的。它正在工作,但没有显示脚本的输出。如果我执行puppet apply命令,输出类似于env中的编译目录..中的应用目录..根据joao的说法(上面回答第一个问题的人)puppet将打印消息,而不考虑错误……我想要的是脚本中的回声输出