Puppet Shell脚本生成木偶
我是puppet新手。我创建了一个模块,并在文件文件夹中编写了一个简单的“Hello World”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
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将打印消息,而不考虑错误……我想要的是脚本中的回声输出