daddy 0.4.8 → 0.4.9

Sign up to get free protection for your applications and to get access to all the features.
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