daddy 0.4.8 → 0.4.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2e4773d701b292b738c1bdce37d187607004253e
4
- data.tar.gz: a08fed053e33799446417b401af5a84a4f9598c0
3
+ metadata.gz: 2dee14fc0e9b6abc36ad974252320a866b79496e
4
+ data.tar.gz: ac69f857d7965258ba0215439f49f8130ab1e38a
5
5
  SHA512:
6
- metadata.gz: 1df57522071005b1de1540d1dff945890d9b8a81dca6950e8ea3ca1c8ff9839f78cfffff254cf64f2547b41fdffffd6ae084de8f79b46a92510401e478444a36
7
- data.tar.gz: 621d4d45e379df27f1be1bcd6892615170b56c5997f829df864e9b0e98944389cb847fd2d90e93446c5a6eba7f2aef8be7895b15b5880fe0cfce57a18f58d4b0
6
+ metadata.gz: b9fee8a24bf52bb8bc4a7bbaa7868784093d8eae138d03fbb7841655c6fdf0896a4cc895af00242fed7e627733b91a2576f72bc63095752a47b28e92c38d7ce3
7
+ data.tar.gz: 974fcee2c899b2ca82fea96a3a158e462af847b6c801387a15f195968ab9e0b053ec2a66114d4bf8c78f3774a1cff28aa0d7218c9148ddbd7f150125fa2df8de
@@ -0,0 +1,78 @@
1
+ require 'daddy/itamae'
2
+
3
+ ENV['DAD_JENKINS_URL'] ||= 'http://localhost:8080'
4
+
5
+ @os_version = "#{node[:platform_family]}-#{node[:platform_version]}"
6
+ case @os_version
7
+ when /rhel-6\.(.*?)/
8
+ package 'java-1.7.0-openjdk' do
9
+ user 'root'
10
+ end
11
+ when /rhel-7\.(.*?)/
12
+ package 'java-1.8.0-openjdk' do
13
+ user 'root'
14
+ end
15
+ else
16
+ raise "サポートしていないOSバージョンです。#{@os_version}"
17
+ end
18
+
19
+ execute '/etc/yum.repos.d/jenkins.repo' do
20
+ user 'root'
21
+ command <<-EOF
22
+ wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
23
+ rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
24
+ EOF
25
+ not_if 'test -e /etc/yum.repos.d/jenkins.repo'
26
+ end
27
+
28
+ package 'jenkins' do
29
+ user 'root'
30
+ end
31
+
32
+ template '/etc/sysconfig/jenkins' do
33
+ user 'root'
34
+ group 'root'
35
+ owner 'root'
36
+ mode '644'
37
+ end
38
+
39
+ service 'jenkins' do
40
+ user 'root'
41
+ action [:enable, :start]
42
+ end
43
+
44
+ directory '/var/lib/jenkins/plugins' do
45
+ user 'root'
46
+ group 'jenkins'
47
+ owner 'jenkins'
48
+ end
49
+
50
+ directory 'tmp'
51
+
52
+ execute 'jenkins-cli.jar' do
53
+ cwd 'tmp'
54
+ command "wget #{ENV['DAD_JENKINS_URL']}/jnlpJars/jenkins-cli.jar"
55
+ not_if 'test -e jenkins-cli.jar'
56
+ end
57
+
58
+ @plugins = [
59
+ {:name => 'build-pipeline-plugin', :version => nil},
60
+ {:name => 'git', :version => nil},
61
+ {:name => 'git-client', :version => nil},
62
+ {:name => 'rake', :version => nil},
63
+ {:name => 'rubyMetrics', :version => nil},
64
+ {:name => 'htmlpublisher', :version => nil},
65
+ {:name => 'reverse-proxy-auth-plugin', :version => nil},
66
+ {:name => 'thinBackup', :version => nil}
67
+ ]
68
+ @plugins.each do |plugin|
69
+ execute "/var/lib/jenkins/plugins/#{plugin[:name]}" do
70
+ cwd 'tmp'
71
+ command "java -jar jenkins-cli.jar -s #{ENV['DAD_JENKINS_URL']} install-plugin #{plugin[:name]}"
72
+ end
73
+ end
74
+
75
+ execute 'restart jenkins' do
76
+ cwd 'tmp'
77
+ command "java -jar jenkins-cli.jar -s #{ENV['DAD_JENKINS_URL']} safe-restart"
78
+ end
@@ -1,5 +1,5 @@
1
1
  ## Path: Development/Jenkins
2
- ## Description: Configuration for the Jenkins continuous build server
2
+ ## Description: Jenkins Continuous Integration Server
3
3
  ## Type: string
4
4
  ## Default: "/var/lib/jenkins"
5
5
  ## ServiceRestart: jenkins
@@ -29,12 +29,23 @@ JENKINS_JAVA_CMD=""
29
29
  JENKINS_USER="jenkins"
30
30
 
31
31
  ## Type: string
32
+ ## Default: "false"
33
+ ## ServiceRestart: jenkins
34
+ #
35
+ # Whether to skip potentially long-running chown at the
36
+ # $JENKINS_HOME location. Do not enable this, "true", unless
37
+ # you know what you're doing. See JENKINS-23273.
38
+ #
39
+ #JENKINS_INSTALL_SKIP_CHOWN="false"
40
+
41
+ ## Type: string
32
42
  ## Default: "-Djava.awt.headless=true"
33
43
  ## ServiceRestart: jenkins
34
44
  #
35
45
  # Options to pass to java when running Jenkins.
36
46
  #
37
- JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true"
47
+ JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true ${JENKINS_JAVA_OPTIONS}"
48
+ JENKINS_JAVA_OPTIONS="-Dhudson.model.DirectoryBrowserSupport.CSP=\"sandbox allow-same-origin allow-scripts; default-src 'self'; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline';\" ${JENKINS_JAVA_OPTIONS}"
38
49
 
39
50
  ## Type: integer(0:65535)
40
51
  ## Default: 8080
@@ -1 +1,2 @@
1
+ STDOUT.sync = true
1
2
  Dir.glob(File.join(File.dirname(__FILE__), 'tasks/*.rake')).each { |r| import r }
@@ -0,0 +1,35 @@
1
+ require 'itamae/resource/remote_file'
2
+
3
+ module Itamae
4
+ module Resource
5
+ class Template
6
+
7
+ def find_source_file_with_daddy_convention
8
+ begin
9
+ ret = find_source_file_without_daddy_convention
10
+ rescue SourceNotFoundError => e
11
+ if attributes.source == :auto
12
+ ret = find_source_file_in_templates
13
+ else
14
+ raise e
15
+ end
16
+ end
17
+
18
+ ret
19
+ end
20
+
21
+ def find_source_file_in_templates
22
+ itamae_dir = ::File.expand_path('../../../itamae', __FILE__)
23
+ path = ::File.join(itamae_dir, source_file_dir, "#{attributes.path}.erb")
24
+ if ::File.exist?(path)
25
+ path
26
+ else
27
+ raise SourceNotFoundError, "source file is not found (searched in daddy path: #{path})"
28
+ end
29
+ end
30
+
31
+ alias_method :find_source_file_without_daddy_convention, :find_source_file
32
+ alias_method :find_source_file, :find_source_file_with_daddy_convention
33
+ end
34
+ end
35
+ end
@@ -1,3 +1,3 @@
1
1
  module Daddy
2
- VERSION = '0.4.8'
2
+ VERSION = '0.4.9'
3
3
  end
@@ -5,29 +5,7 @@ namespace :dad do
5
5
 
6
6
  desc 'Jenkinsをインストールします。'
7
7
  task :install do
8
- FileUtils.mkdir_p 'tmp'
9
-
10
- script = File.join(File.dirname(__FILE__), 'jenkins', 'install.sh')
11
- run "bash -ex #{script}"
12
-
13
- plugins = [
14
- {:name => 'build-pipeline-plugin', :version => '1.4.3'},
15
- {:name => 'git', :version => '2.2.5'},
16
- {:name => 'git-client', :version => '1.10.2'},
17
- {:name => 'rake', :version => '1.8.0'},
18
- {:name => 'rubyMetrics', :version => '1.6.2'},
19
- {:name => 'htmlpublisher', :version => '1.3'},
20
- {:name => 'reverse-proxy-auth-plugin', :version => '1.4.0'},
21
- {:name => 'thinBackup', :version => '1.7.4'}
22
- ]
23
- plugins.each do |p|
24
- download_path = "tmp/#{p[:name]}-#{p[:version]}.hpi"
25
- unless File.exist?(download_path)
26
- run "sudo wget http://updates.jenkins-ci.org/download/plugins/#{p[:name]}/#{p[:version]}/#{p[:name]}.hpi -O #{download_path}"
27
- end
28
-
29
- run "sudo cp -f #{download_path} /var/lib/jenkins/plugins/#{p[:name]}.hpi"
30
- end
8
+ run_itamae 'jenkins/install'
31
9
  end
32
10
 
33
11
  namespace :nginx do
@@ -1,7 +1,7 @@
1
1
  require 'rake'
2
2
  require 'erb'
3
3
  require 'yaml'
4
- require File.join(File.dirname(File.dirname(__FILE__)), 'daddy', 'version.rb')
4
+ require File.expand_path('../../daddy/version', __FILE__)
5
5
 
6
6
  def self.daddy_version
7
7
  Daddy::VERSION
@@ -23,6 +23,10 @@ def self.template_dir
23
23
  File.join(File.dirname(File.dirname(File.dirname(__FILE__))), 'templates')
24
24
  end
25
25
 
26
+ def self.cookbook_dir
27
+ File.expand_path('../../../itamae/cookbooks', __FILE__)
28
+ end
29
+
26
30
  def self.dry_run?
27
31
  %w{ DRY_RUN DR }.each do |key|
28
32
  return true if %w{ true t yes y 1 }.include?(ENV[key].to_s.downcase)
@@ -97,3 +101,13 @@ def self.run(*commands)
97
101
  end
98
102
  end
99
103
  end
104
+
105
+ def self.run_itamae(recipe)
106
+ options = []
107
+ options << '--ohai'
108
+ options << '--log-level=debug' if ENV['DEBUG']
109
+
110
+ recipe = "#{recipe}.rb" unless recipe.end_with?('.rb')
111
+
112
+ run "bundle exec itamae local #{options.join(' ')} #{File.join(cookbook_dir, recipe)}"
113
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: daddy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.8
4
+ version: 0.4.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - ichy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-12-18 00:00:00.000000000 Z
11
+ date: 2016-01-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: capybara
@@ -42,16 +42,16 @@ dependencies:
42
42
  name: ci_reporter
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 2.0.0
47
+ version: '2.0'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 2.0.0
54
+ version: '2.0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: database_cleaner
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -86,62 +86,70 @@ dependencies:
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '0.3'
89
+ version: '0.4'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '0.3'
96
+ version: '0.4'
97
97
  - !ruby/object:Gem::Dependency
98
- name: poltergeist
98
+ name: itamae
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '1.8'
103
+ version: '1.9'
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '1.8'
110
+ version: '1.9'
111
111
  - !ruby/object:Gem::Dependency
112
- name: rails
112
+ name: ohai
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ">="
116
- - !ruby/object:Gem::Version
117
- version: 3.2.0
118
- - - "<"
115
+ - - "~>"
119
116
  - !ruby/object:Gem::Version
120
- version: 5.0.0
117
+ version: '8.8'
121
118
  type: :runtime
122
119
  prerelease: false
123
120
  version_requirements: !ruby/object:Gem::Requirement
124
121
  requirements:
125
- - - ">="
122
+ - - "~>"
126
123
  - !ruby/object:Gem::Version
127
- version: 3.2.0
128
- - - "<"
124
+ version: '8.8'
125
+ - !ruby/object:Gem::Dependency
126
+ name: poltergeist
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
129
130
  - !ruby/object:Gem::Version
130
- version: 5.0.0
131
+ version: '1.8'
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '1.8'
131
139
  - !ruby/object:Gem::Dependency
132
- name: rails-i18n
140
+ name: rails
133
141
  requirement: !ruby/object:Gem::Requirement
134
142
  requirements:
135
- - - "<"
143
+ - - "~>"
136
144
  - !ruby/object:Gem::Version
137
- version: 5.0.0
145
+ version: '4.1'
138
146
  type: :runtime
139
147
  prerelease: false
140
148
  version_requirements: !ruby/object:Gem::Requirement
141
149
  requirements:
142
- - - "<"
150
+ - - "~>"
143
151
  - !ruby/object:Gem::Version
144
- version: 5.0.0
152
+ version: '4.1'
145
153
  - !ruby/object:Gem::Dependency
146
154
  name: resque
147
155
  requirement: !ruby/object:Gem::Requirement
@@ -225,6 +233,8 @@ files:
225
233
  - app/assets/stylesheets/datepicker.css.scss
226
234
  - app/assets/stylesheets/ympicker.css.scss
227
235
  - bin/dad
236
+ - itamae/cookbooks/jenkins/install.rb
237
+ - itamae/templates/etc/sysconfig/jenkins.erb
228
238
  - lib/active_support/cache/null_store.rb
229
239
  - lib/capistrano/daddy.rb
230
240
  - lib/capistrano/tasks/update_linked_files.rake
@@ -247,6 +257,7 @@ files:
247
257
  - lib/daddy/git.rb
248
258
  - lib/daddy/helpers/html_helper.rb
249
259
  - lib/daddy/http_client.rb
260
+ - lib/daddy/itamae.rb
250
261
  - lib/daddy/model.rb
251
262
  - lib/daddy/models/crud_extension.rb
252
263
  - lib/daddy/models/query_extension.rb
@@ -288,8 +299,6 @@ files:
288
299
  - lib/tasks/god/logrotate
289
300
  - lib/tasks/god/master.conf
290
301
  - lib/tasks/jenkins.rake
291
- - lib/tasks/jenkins/install.sh
292
- - lib/tasks/jenkins/jenkins
293
302
  - lib/tasks/jenkins/nginx.conf.erb
294
303
  - lib/tasks/kibana.rake
295
304
  - lib/tasks/kibana/config.js.erb
@@ -1,13 +0,0 @@
1
- #!/bin/bash
2
-
3
- SCRIPT_BASE=`dirname $0`
4
-
5
- sudo yum install java-1.7.0-openjdk
6
- sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
7
- sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
8
- sudo yum install jenkins
9
- sudo cp -f ${SCRIPT_BASE}/jenkins /etc/sysconfig/jenkins
10
- sudo chown root:root /etc/sysconfig/jenkins
11
- sudo chmod 600 /etc/sysconfig/jenkins
12
- sudo mkdir -p /var/lib/jenkins/plugins
13
- sudo chown jenkins:jenkins /var/lib/jenkins/plugins