Class: Engineyard::Jenkins::InstallGenerator

Inherits:
Thor::Group
  • Object
show all
Includes:
Thor::Actions
Defined in:
lib/engineyard-jenkins/cli/install_generator.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.source_rootObject



13
14
15
# File 'lib/engineyard-jenkins/cli/install_generator.rb', line 13

def self.source_root
  File.join(File.dirname(__FILE__), "install_generator", "templates")
end

Instance Method Details

#attributesObject



24
25
26
# File 'lib/engineyard-jenkins/cli/install_generator.rb', line 24

def attributes
  template "attributes.rb.tt", "cookbooks/jenkins_slave/attributes/default.rb"
end

#enable_recipeObject



32
33
34
35
36
37
38
39
40
# File 'lib/engineyard-jenkins/cli/install_generator.rb', line 32

def enable_recipe
  file       = "cookbooks/main/recipes/default.rb"
  enable_cmd = "\nrequire_recipe 'jenkins_slave'"
  if File.exists?(file_path = File.join(destination_root, file))
    append_file file, enable_cmd
  else
    create_file file, enable_cmd
  end
end

#install_cookbooksObject



17
18
19
20
21
22
# File 'lib/engineyard-jenkins/cli/install_generator.rb', line 17

def install_cookbooks
  file       = "cookbooks/main/recipes/default.rb"
  unless File.exists?(File.join(destination_root, "cookbooks/main/recipes/default.rb"))
    directory "cookbooks"
  end
end

#readmeObject



42
43
44
45
46
47
48
49
50
# File 'lib/engineyard-jenkins/cli/install_generator.rb', line 42

def readme
  say ""
  say "Finally:"
  say "* edit "; say "cookbooks/jenkins_slave/attributes/default.rb ", :yellow; say "as necessary."
  say "* run: "; say "ey recipes upload ", :green; say "# use --environment(-e) & --account(-c)"
  say "* run: "; say "ey recipes apply  ", :green; say "#   to select environment"
  say "* "; say "Boot your environment ", :yellow; say "if not already booted."
  say "When the recipe completes, your project will commence its first build on Jenkins CI."
end

#recipeObject



28
29
30
# File 'lib/engineyard-jenkins/cli/install_generator.rb', line 28

def recipe
  copy_file "recipes.rb", "cookbooks/jenkins_slave/recipes/default.rb"
end