2017-08-28 47 views

回答

1

您可以使用metaparameter subscribe和参数refreshonlyexec资源来完成此操作。

首先,使用subscribe metaparmeter建立execvcsrepo排序关系,还需要检查资源的变化:https://docs.puppet.com/puppet/latest/metaparameter.html#subscribe

接下来,使用refreshonlyexec资源指示只适用,如果改变在vcsrepo回购影响的变化(相一相非幂等):https://docs.puppet.com/puppet/latest/types/exec.html#exec-attribute-refreshonly

它看起来像:

vcsrepo { '/home/pi/pop_machine': 
    ensure => latest, 
    provider => git, 
    source => 'https://github.com/kirkins/pop-machine-demo.git', 
    revision => 'master', 
} 

exec { 'npm start': 
    command  => "/usr/bin/killall electron & /usr/bin/npm start", 
    cwd   => "/home/pi/pop_machine/", 
    subscribe => Vcsrepo['/home/pi/pop_machine'], 
    refreshonly => true, 
}