我的木偶代码中包含以下exec块,该代码将我登录到AWS ECR存储库中。
exec { 'aws ecr get-login':
command => "aws ecr get-login --no-include-email --region eu-west-1 > /tmp/docker-login.sh;
chmod a+x /tmp/docker-login.sh;
/tmp/docker-login.sh > /tmp/docker.login",
path => ['/bin', '/usr/bin', '/usr/sbin', ],
}
就像现在一样,它在每次木偶运行时都会执行,这有点过头了。我只想在以下块发生更改时执行它。
docker::run { 'test':
ensure => present,
image => "image:${docker_tag}",
pull_on_start => true,
}
我知道我可以使用notify,问题是,当docker块更改时,我想在docker :: run语句被处理之前运行