Module: R10K::CLI::Deploy::Module

Defined in:
lib/r10k/cli/deploy.rb

Class Method Summary collapse

Class Method Details

.commandObject



81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
# File 'lib/r10k/cli/deploy.rb', line 81

def self.command
  @cmd ||= Cri::Command.define do
    name  'module'
    usage 'module [module] <module ...>'
    summary 'Deploy modules in all environments'

    description <<-DESCRIPTION
`r10k deploy module` Deploys and updates modules inside of Puppet environments.
It will load the Puppetfile configurations out of all environments, and will
try to deploy the given module names in all environments.
    DESCRIPTION

    flag :h, :help, 'Show help for this command' do |value, cmd|
      puts cmd.help
      exit 0
    end
    required :e, :environment, 'Update the modules in the given environment'

    run do |opts, args, cmd|
      deploy = R10K::Deployment.load_config(opts[:config])

      task = R10K::Task::Deployment::DeployModules.new(deploy)
      task.module_names = args
      task.environment_names = [opts[:environment]] if opts[:environment]

      runner = R10K::TaskRunner.new(:trace => opts[:trace])
      runner.append_task task
      runner.run

      exit runner.exit_value
    end
  end
end