kstrano 0.0.17 → 0.0.18

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. data/bin/kumafy +21 -36
  2. data/lib/helpers/kuma_helper.rb +2 -2
  3. data/lib/kstrano.rb +60 -227
  4. metadata +19 -54
data/bin/kumafy CHANGED
@@ -51,31 +51,14 @@ def update_deploy_config(ui, base, context, force)
51
51
 
52
52
  deploy = File.join(base, "app", "config", "deploy.rb")
53
53
  write_deploy = true
54
- #if File.exists?(deploy)
55
- #overwrite = ui.ask("The file #{deploy} already exists, do you want to override it? ") { |q| q.default = 'n' }
56
- #if !overwrite.match(/^y/)
57
- # write_deploy = false
58
- #end
59
- #end
60
54
 
61
55
  if write_deploy
62
56
  dirname = File.basename(Dir.getwd)
63
57
  deploy_gist = get_plain_secure(DEPLOY_GIST).body
64
- app_name = ui.ask("What's the name of the application?") { |q| q.default = dirname }
58
+ context["app_name"] ||= ui.ask("What's the name of the application?")
59
+ app_name = context["app_name"]
65
60
  deploy_gist.gsub!(/(:application,\s)(\"\")/, '\1' + "\"#{app_name}\"")
66
61
  deploy_gist.gsub!(/(:admin_runner,\s)(\"\")/, '\1' + "\"#{app_name}\"")
67
-
68
- campfire_room = ui.ask("What's the name of the campfire room for this project?")
69
- if !campfire_room.nil? && !campfire_room.empty?
70
- deploy_gist.gsub!(/(:campfire_room,\s)(nil)/, '\1' + "\"#{campfire_room}\"")
71
- context["campfire_room"] = campfire_room
72
- end
73
-
74
- airbrake_api_key = ui.ask("What's the api key of this project for airbrake?")
75
- if !airbrake_api_key.nil? && !airbrake_api_key.empty?
76
- deploy_gist.gsub!(/(:airbrake_api_key,\s)(nil)/, '\1' + "\"#{airbrake_api_key}\"")
77
- context["airbrake_api_key"] = airbrake_api_key
78
- end
79
62
 
80
63
  File.open(deploy, "w") do |f|
81
64
  deploy_gist.each_line do |line|
@@ -93,21 +76,21 @@ def update_deploy_config(ui, base, context, force)
93
76
  }.each do |env, gist|
94
77
  file = File.join(deploy_dir, "#{env}.rb")
95
78
  write = true
96
-
79
+
97
80
  if File.exists?(file)
98
81
  overwrite = ui.ask("The file #{file} already exists, do you want to override it? ") { |q| q.default = 'n' }
99
82
  if !overwrite.match(/^y/)
100
83
  write = false
101
84
  end
102
85
  end
103
-
86
+
104
87
  if write
105
88
  gist_body = get_plain_secure(gist).body
106
89
  server = ui.ask("On which server is the #{env} environment deployed?")
107
90
  if !server.match(/^.*\.kunstmaan\.be$/)
108
91
  server = "#{server}.kunstmaan.be"
109
92
  end
110
-
93
+
111
94
  gist_body.gsub!(/(:domain,\s)(\"\")/, '\1' + "\"#{server}\"")
112
95
 
113
96
  File.open(file, "w") do |f|
@@ -197,21 +180,23 @@ end
197
180
 
198
181
  def update_vendors(base)
199
182
  vendors = File.join(base, "bin", "vendors")
200
- fcontent = ""
201
- File.open(vendors, "r") do |f|
202
- f.each do |line|
203
- fcontent << line
183
+ if File.directory?(vendors)
184
+ fcontent = ""
185
+ File.open(vendors, "r") do |f|
186
+ f.each do |line|
187
+ fcontent << line
188
+ end
204
189
  end
205
- end
206
190
 
207
- File.open(vendors, "w") do |f|
208
- fcontent.each_line do |line|
209
- f.print line
210
- if line.include? "git clone %s %s"
211
- f.print " system(sprintf('cd %s && git config core.filemode false', escapeshellarg($installDir)));" + "\r\n"
191
+ File.open(vendors, "w") do |f|
192
+ fcontent.each_line do |line|
193
+ f.print line
194
+ if line.include? "git clone %s %s"
195
+ f.print " system(sprintf('cd %s && git config core.filemode false', escapeshellarg($installDir)));" + "\r\n"
196
+ end
212
197
  end
213
198
  end
214
- end
199
+ end
215
200
  end
216
201
 
217
202
  force = false
@@ -261,9 +246,9 @@ ui = HighLine.new
261
246
  base = ARGV.shift
262
247
  context = Hash.new
263
248
 
264
- puts "[start] kcapifony"
265
- %x(kcapifony .)
266
- puts "[end] kcapifony"
249
+ puts "[start] capifony"
250
+ %x(capifony .)
251
+ puts "[end] capifony"
267
252
 
268
253
  update_capfile base, context, force
269
254
  update_deploy_config ui, base, context, force
@@ -11,11 +11,11 @@ module Kumastrano
11
11
  end
12
12
 
13
13
  def say(text)
14
- Capistrano::CLI.ui.say(" * #{text}")
14
+ Capistrano::CLI.ui.say("--> #{text}")
15
15
  end
16
16
 
17
17
  def ask(question, default='n')
18
- agree = Capistrano::CLI.ui.agree(" #{question} ") do |q|
18
+ agree = Capistrano::CLI.ui.agree("--> #{question} ") do |q|
19
19
  q.default = default
20
20
  end
21
21
 
data/lib/kstrano.rb CHANGED
@@ -1,25 +1,11 @@
1
- set :jenkins_base_uri, ""
2
- set :jenkins_base_job_name, "Default"
3
- set :jenkins_poll_timeout, 300
4
- set :jenkins_poll_interval, 2
5
- set :jenkins_enabled, false
6
-
7
- set :campfire_room, nil
8
- set :campfire_token, "" ## kbot
9
- set :campfire_account, "Kunstmaan"
10
-
11
- set :airbrake_api_key, nil
12
-
13
1
  # PHP binary to execute
14
- set :php_bin, "php"
2
+ set :php_bin, "php"
15
3
  # Symfony console bin
16
- set :symfony_console, app_path + "/console"
4
+ set :symfony_console, app_path + "/console"
17
5
 
6
+ set :force_schema, false
18
7
 
19
8
  require "#{File.dirname(__FILE__)}/helpers/git_helper.rb"
20
- require "#{File.dirname(__FILE__)}/helpers/jenkins_helper.rb"
21
- require "#{File.dirname(__FILE__)}/helpers/airbrake_helper.rb"
22
- require "#{File.dirname(__FILE__)}/helpers/campfire_helper.rb"
23
9
  require "#{File.dirname(__FILE__)}/helpers/kuma_helper.rb"
24
10
  require 'rexml/document'
25
11
  require 'etc'
@@ -36,109 +22,21 @@ namespace :kuma do
36
22
  sudo "sh -c 'if [ -f /opt/kDeploy/tools/fixperms.py ] ; then cd /opt/kDeploy/tools/; python fixperms.py #{application}; fi'"
37
23
  end
38
24
 
39
- end
40
-
41
- namespace :airbrake do
42
-
43
- desc "Register a deploy with airbrake.io"
44
- task :notify do
45
- if !airbrake_api_key.nil?
46
- revision = Kumastrano::GitHelper::commit_hash
47
- repository = Kumastrano::GitHelper::origin_url
48
- env ||= "production"
49
- success = Kumastrano::AirbrakeHelper.notify airbrake_api_key, revision, repository, env
50
- Kumastrano.say "Failed notifying airbrake of the new deploy" unless success
51
- end
25
+ desc "Make the SSH Authentication socket reachable for project user"
26
+ task :fix_ssh_socket do
27
+ sudo "chmod 777 -R `dirname $SSH_AUTH_SOCK`"
52
28
  end
53
29
 
54
- end
55
-
56
- namespace :campfire do
57
-
58
- desc "Say something on campfire"
59
- task:say do
60
- if !campfire_room.nil?
61
- message = ARGV.join(' ').gsub('campfire:say', '')
62
- Kumastrano::CampfireHelper.speak campfire_account, campfire_token, campfire_room, message
63
- exit
64
- end
65
- end
66
-
67
- end
68
-
69
- namespace :jenkins do
70
-
71
- desc "create a job for the current branch and application on Jenkins"
72
- task:create_job do
73
- ## 1. locate the job in jenkins
74
- current_branch = Kumastrano::GitHelper.branch_name
75
- job_name = Kumastrano::JenkinsHelper.make_safe_job_name(application, current_branch)
76
- current_job_url = Kumastrano::JenkinsHelper.job_url_for_name(jenkins_base_uri, job_name)
77
-
78
- ## 2. if no job was found, first create a job for this branch
79
- if current_job_url.nil?
80
- Kumastrano.say "no job found for branch #{current_branch} on #{application}, we'll create one now"
81
- default_job_url = Kumastrano::JenkinsHelper.job_url_for_name(jenkins_base_uri, jenkins_base_job_name)
82
- if !default_job_url.nil?
83
- current_refspec = Kumastrano::GitHelper.origin_refspec
84
- current_url = Kumastrano::GitHelper.origin_url
85
-
86
- default_job_config = Kumastrano::JenkinsHelper.retrieve_config_xml default_job_url
87
- document = REXML::Document.new default_job_config
88
- root = document.root
89
-
90
- ## change the description
91
- root.elements['description'].text = "This job will be used for testing the branch #{current_branch}"
92
-
93
- ## change the git config
94
- git_element = root.elements["scm[@class='hudson.plugins.git.GitSCM']"]
95
- git_element.elements["userRemoteConfigs/hudson.plugins.git.UserRemoteConfig/refspec"].text = current_refspec
96
- git_element.elements["userRemoteConfigs/hudson.plugins.git.UserRemoteConfig/url"].text = current_url
97
- git_element.elements["branches/hudson.plugins.git.BranchSpec/name"].text = current_branch
98
-
99
- ## create the new job based on the modified git config
100
- Kumastrano::JenkinsHelper.create_new_job(jenkins_base_uri, job_name, document.to_s)
101
- current_job_url = Kumastrano::JenkinsHelper.job_url_for_name(jenkins_base_uri, job_name)
102
- end
103
- else
104
- Kumastrano.say "there was already a job available on Jenkins for branch #{current_branch} on #{application}"
105
- end
106
-
107
- current_job_url
108
- end
109
-
110
- desc "Try to build the current branch on Jenkins"
111
- task:build do
112
- current_job_url = jenkins::create_job
113
- current_branch = Kumastrano::GitHelper.branch_name
114
-
115
- if !current_job_url.nil?
116
- job_name = Kumastrano::JenkinsHelper.make_safe_job_name(application, current_branch)
117
- prev_build = Kumastrano::JenkinsHelper.last_build_number current_job_url
118
- Kumastrano.say "start building build ##{(prev_build + 1)} on job #{job_name}, this can take a while"
119
-
120
- result, last_build_info = Kumastrano::JenkinsHelper.build_and_wait current_job_url, jenkins_poll_timeout, jenkins_poll_interval
121
-
122
- message = ""
123
- if result
124
- Kumastrano.say "the build was succesful"
125
- message = "was a success"
126
- else
127
- Kumastrano.say "the build failed"
128
- message = "failed"
129
- end
130
-
131
- Kumastrano::CampfireHelper.speak campfire_account, campfire_token, campfire_room, "#{Etc.getlogin.capitalize} just builded a new version of #{current_branch} on #{application} and it #{message}. You can view the results here #{current_job_url}/lastBuild."
132
- else
133
- Kumastrano.say "no job found for #{job_name}, cannot build"
134
- end
30
+ desc "Make the SSH Authentication socket reachable for project user"
31
+ task :unfix_ssh_socket do
32
+ sudo "chmod 775 -R `dirname $SSH_AUTH_SOCK`"
135
33
  end
136
34
 
137
35
  end
138
36
 
139
37
  namespace :deploy do
140
38
 
141
- task :symlink, :except => { :no_release => true } do
39
+ task :create_symlink, :except => { :no_release => true } do
142
40
  on_rollback do
143
41
  if previous_release
144
42
  try_sudo "ln -sf #{previous_release} #{current_path}; true"
@@ -146,128 +44,62 @@ namespace :deploy do
146
44
  logger.important "no previous release to rollback to, rollback of symlink skipped"
147
45
  end
148
46
  end
149
-
150
47
  try_sudo "ln -sfT #{latest_release} #{current_path}"
151
48
  end
152
49
 
153
50
  end
154
51
 
155
- ## Capistrano callbacks ##
52
+ namespace :symfony do
156
53
 
157
- # Before deploy:
158
- ## Check if there is a build on jenkins. If none is available, it will create one.
159
- ## Notify on Campfire what the deployer did.
160
- before :deploy do
161
- ## only do this in production environment
162
- if env == 'production' and jenkins_enabled
163
- can_deploy = false
164
- current_branch = Kumastrano::GitHelper.branch_name
165
- current_hash = Kumastrano::GitHelper.commit_hash
166
-
167
- if Kumastrano::JenkinsHelper.available? jenkins_base_uri
168
- ## Allways fetch the latest information from git
169
- Kumastrano::GitHelper.fetch
170
-
171
- job_name = Kumastrano::JenkinsHelper.make_safe_job_name(application, current_branch)
172
- current_job_url = Kumastrano::JenkinsHelper.job_url_for_name(jenkins_base_uri, job_name)
173
-
174
- if current_job_url.nil?
175
- ## No job exists for the current branch, we'll create a job.
176
- if Kumastrano.ask "no job found for the current branch, do you want to create a job for #{current_branch} on #{application}?", 'y'
177
- current_job_url = jenkins::create_job
178
- end
179
- end
54
+ desc "Copy vendors from previous release"
55
+ task :copy_vendors, :except => { :no_release => true } do
56
+ pretty_print "--> Copying vendors from previous release"
57
+ try_sudo "mkdir #{release_path}/vendor"
58
+ try_sudo "sh -c 'if [ -d #{previous_release}/vendor ] ; then cp -a #{previous_release}/vendor/* #{release_path}/vendor/; fi'"
59
+ puts_ok
60
+ end
180
61
 
181
- if !current_job_url.nil?
182
- ## we have a job url, get info of the lastBuild
183
- last_build_info = Kumastrano::JenkinsHelper.build_info current_job_url
184
- result = last_build_info['result'] ## SUCCESS or FAILURE
185
- build_hash = Kumastrano::JenkinsHelper.fetch_build_hash_from_build_info(last_build_info, current_branch)
62
+ namespace :doctrine do
63
+ namespace :schema do
186
64
 
187
- if !build_hash.nil?
188
- if build_hash == current_hash
189
- if "SUCCESS" == result
190
- ## The hash of the last build is the same as my hash we can deploy
191
- can_deploy = true
192
- else
193
- ## The hash of the last build is the same as the current hash, but the build failed.
194
- if Kumastrano.ask "the last build for the branch #{current_branch} for commit #{current_hash} failed, do you want to build again?", 'y'
195
- prev_build = Kumastrano::JenkinsHelper.last_build_number current_job_url
196
- Kumastrano.say "start building build ##{(prev_build + 1)} on job #{job_name}, this can take a while"
197
- result, last_build_info = Kumastrano::JenkinsHelper.build_and_wait current_job_url, jenkins_poll_timeout, jenkins_poll_interval
198
- new_build_hash = Kumastrano::JenkinsHelper.fetch_build_hash_from_build_info(last_build_info, current_branch)
199
- if !result.nil? && result && !new_build_hash.nil? && new_build_hash = current_hash
200
- can_deploy = true
201
- else
202
- Kumastrano.say "there is still something wrong with #{current_branch} on #{application}, please check manually and try deploying again afterwards!"
203
- end
204
- end
205
- end
206
- else
207
- merge_base = Kumastrano::GitHelper.merge_base(build_hash, current_hash)
208
- if merge_base == build_hash
209
- ## The build commit is an ancestor of HEAD
210
- if Kumastrano.ask "the last build for the branch #{current_branch} is from an older commit do you want to build again? (jenkins=#{build_hash}, local=#{current_hash})", 'y'
211
- prev_build = Kumastrano::JenkinsHelper.last_build_number current_job_url
212
- Kumastrano.say "start building build ##{(prev_build + 1)} on job #{job_name}, this can take a while"
213
- result, last_build_info = Kumastrano::JenkinsHelper.build_and_wait current_job_url, jenkins_poll_timeout, jenkins_poll_interval
214
- new_build_hash = Kumastrano::JenkinsHelper.fetch_build_hash_from_build_info(last_build_info, current_branch)
215
- if !result.nil? && result && !new_build_hash.nil? && new_build_hash = current_hash
216
- can_deploy = true
217
- else
218
- Kumastrano.say "there is still something wrong with #{current_branch} on #{application}, please check manually and try deploying again afterwards!"
219
- end
220
- end
221
- elsif merge_base == current_hash
222
- ## The current HEAD is an ancestor of the build hash
223
- Kumastrano.say "the latest build is of a newer commit, someone else is probably working on the same branch, try updating your local repository first. (jenkins=#{build_hash}, local=#{current_hash})"
224
- else
225
- ## Something is wrong, we don't know what try building again
226
- if Kumastrano.ask "the latest build isn't a valid build, do you want to try building again? (jenkins=#{build_hash}, local=#{current_hash})", 'y'
227
- prev_build = Kumastrano::JenkinsHelper.last_build_number current_job_url
228
- Kumastrano.say "start building build ##{(prev_build + 1)} on job #{job_name}, this can take a while"
229
- result, last_build_info = Kumastrano::JenkinsHelper.build_and_wait current_job_url, jenkins_poll_timeout, jenkins_poll_interval
230
- new_build_hash = Kumastrano::JenkinsHelper.fetch_build_hash_from_build_info(last_build_info, current_branch)
231
- if !result.nil? && result && !new_build_hash.nil? && new_build_hash = current_hash
232
- can_deploy = true
233
- else
234
- Kumastrano.say "there is still something wrong with #{current_branch} on #{application}, please check manually and try deploying again afterwards!"
235
- end
236
- end
237
- end
238
- end
239
- else
240
- ## No build found, try building it
241
- if Kumastrano.ask "no build found, do you want to try building it?", 'y'
242
- prev_build = Kumastrano::JenkinsHelper.last_build_number current_job_url
243
- Kumastrano.say "start building build ##{(prev_build + 1)} on job #{job_name}, this can take a while"
244
- result, last_build_info = Kumastrano::JenkinsHelper.build_and_wait current_job_url, jenkins_poll_timeout, jenkins_poll_interval
245
- new_build_hash = Kumastrano::JenkinsHelper.fetch_build_hash_from_build_info(last_build_info, current_branch)
246
- if !result.nil? && result && !new_build_hash.nil? && new_build_hash = current_hash
247
- can_deploy = true
248
- else
249
- Kumastrano.say "there is still something wrong with #{current_branch} on #{application}, please check manually and try deploying again afterwards!"
250
- end
251
- end
65
+ desc "Update the database schema."
66
+ task :update do
67
+ if force_schema
68
+ try_sudo "sh -c 'cd #{latest_release} && #{php_bin} #{symfony_console} doctrine:schema:update --env=#{symfony_env_prod} --force'", :once => true
252
69
  end
253
70
  end
254
- end
255
71
 
256
- if !can_deploy
257
- if Kumastrano.ask "no valid build found for #{current_hash} on branch #{current_branch}, do you still want to deploy?"
258
- Kumastrano::CampfireHelper.speak campfire_account, campfire_token, campfire_room, "#{Etc.getlogin.capitalize} ignored the fact there was something wrong with #{current_branch} on #{application} and still went on with deploying it!!"
259
- else
260
- Kumastrano::CampfireHelper.speak campfire_account, campfire_token, campfire_room, "#{Etc.getlogin.capitalize} wanted to deploy #{current_branch} on #{application} but there is something wrong with the code, so he cancelled it!"
261
- exit
262
- end
263
- else
264
- Kumastrano::CampfireHelper.speak campfire_account, campfire_token, campfire_room, "#{Etc.getlogin.capitalize} is deploying #{current_branch} for #{application}"
265
72
  end
266
- else
267
- Kumastrano.say "jenkins on demand is disabled, skipping..."
268
73
  end
74
+
269
75
  end
270
76
 
77
+ before "symfony:vendors:install", "symfony:copy_vendors" # Symfony2 2.0.x
78
+ before "symfony:composer:install", "symfony:copy_vendors" # Symfony2 2.1
79
+ before "symfony:composer:update", "symfony:copy_vendors" # Symfony2 2.1
80
+
81
+ # Fix the SSH socket so that it's reachable for the project user, this is needed to pass your local ssh keys to github
82
+ before "symfony:vendors:install", "kuma:fix_ssh_socket"
83
+ before "symfony:vendors:reinstall", "kuma:fix_ssh_socket"
84
+ before "symfony:vendors:upgrade", "kuma:fix_ssh_socket"
85
+ before "symfony:composer:update", "kuma:fix_ssh_socket"
86
+ before "symfony:composer:install", "kuma:fix_ssh_socket"
87
+ after "symfony:vendors:install", "kuma:unfix_ssh_socket"
88
+ after "symfony:vendors:reinstall", "kuma:unfix_ssh_socket"
89
+ after "symfony:vendors:upgrade", "kuma:unfix_ssh_socket"
90
+ after "symfony:composer:update", "kuma:unfix_ssh_socket"
91
+ after "symfony:composer:install", "kuma:unfix_ssh_socket"
92
+
93
+ # ask to update the schema
94
+ after "symfony:vendors:install", "symfony:doctrine:schema:update"
95
+ after "symfony:vendors:reinstall", "symfony:doctrine:schema:update"
96
+ after "symfony:vendors:upgrade", "symfony:doctrine:schema:update"
97
+ after "symfony:composer:update", "symfony:doctrine:schema:update"
98
+ after "symfony:composer:install", "symfony:doctrine:schema:update"
99
+
100
+ # clear the cache before the warmup
101
+ before "symfony:cache:warmup", "symfony:cache:clear"
102
+
271
103
  # Before update_code:
272
104
  ## Make the cached_copy readable for the current user
273
105
  before "deploy:update_code" do
@@ -278,6 +110,7 @@ end
278
110
  # After update_code:
279
111
  ## Fix the permissions of the cached_copy so that it's readable for the project user
280
112
  after "deploy:update_code" do
113
+ on_rollback { sudo "rm -rf #{release_path}; true" } # by default capistrano will use the run command, but everything has project user rights in our server setup, so use try_sudo in stead of run.
281
114
  sudo "sh -c 'if [ -d #{shared_path}/cached-copy ] ; then chown -R #{application}:#{application} #{shared_path}/cached-copy; fi'" if deploy_via == :rsync_with_remote_cache || deploy_via == :remote_cache
282
115
  end
283
116
 
@@ -285,12 +118,19 @@ end
285
118
  ## Create the parameters.ini if it's a symfony project
286
119
  ## Fix the permissions of the latest release, so that it's readable for the project user
287
120
  before "deploy:finalize_update" do
121
+ on_rollback { sudo "rm -rf #{release_path}; true" } # by default capistrano will use the run command, but everything has project user rights in our server setup, so use try_sudo in stead of run.
288
122
  sudo "sh -c 'if [ -d #{shared_path}/cached-copy ] ; then chmod -R ug+rx #{latest_release}/paramDecode; fi'"
289
- sudo "sh -c 'if [ -f #{latest_release}/paramDecode ] ; then cd #{latest_release} && ./paramDecode; fi'" # Symfony specific: will generate the parameters.ini
123
+ sudo "sh -c 'if [ -f #{release_path}/paramDecode ] ; then cd #{release_path} && ./paramDecode; fi'" # Symfony specific: will generate the parameters.ini
290
124
  sudo "chown -R #{application}:#{application} #{latest_release}"
291
125
  sudo "setfacl -R -m group:admin:rwx #{latest_release}"
292
126
  end
293
127
 
128
+ after "deploy:finalize_update" do
129
+ sudo "/etc/init.d/php5-fpm reload"
130
+ serverproject = domain.split('.')[0]
131
+ sudo "sh -c 'curl https://raw.github.com/gist/2868838/ > /home/projects/#{serverproject}/site/apcclear.php'"
132
+ end
133
+
294
134
  before :deploy do
295
135
  Kumastrano.say "executing ssh-add"
296
136
  %x(ssh-add)
@@ -300,13 +140,6 @@ end
300
140
  ## Notify the people on campfire of this deploy
301
141
  ## Notify airbrake to add a new deploy to the deploy history
302
142
  after :deploy do
303
- current_branch = Kumastrano::GitHelper.branch_name
304
- Kumastrano::CampfireHelper.speak campfire_account, campfire_token, campfire_room, "#{Etc.getlogin.capitalize} successfuly deployed #{current_branch} for #{application}"
305
- sudo "/etc/init.d/php5-fpm reload"
306
- serverproject = domain.split('.')[0]
307
- sudo "sh -c 'curl https://raw.github.com/gist/2868838/ > /home/projects/#{serverproject}/site/apcclear.php'"
308
- sudo "chmod 777 /home/projects/#{serverproject}/site/apcclear.php"
309
- sudo "curl http://#{domain}/apcclear.php"
310
143
  kuma::fixcron
311
144
  deploy::cleanup ## cleanup old releases
312
145
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kstrano
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.17
4
+ version: 0.0.18
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-07-26 00:00:00.000000000 Z
12
+ date: 2012-08-21 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: capistrano
16
- requirement: !ruby/object:Gem::Requirement
16
+ requirement: &70358125577500 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,15 +21,10 @@ dependencies:
21
21
  version: 2.12.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ! '>='
28
- - !ruby/object:Gem::Version
29
- version: 2.12.0
24
+ version_requirements: *70358125577500
30
25
  - !ruby/object:Gem::Dependency
31
26
  name: capistrano-ext
32
- requirement: !ruby/object:Gem::Requirement
27
+ requirement: &70358125576980 !ruby/object:Gem::Requirement
33
28
  none: false
34
29
  requirements:
35
30
  - - ! '>='
@@ -37,15 +32,10 @@ dependencies:
37
32
  version: 1.2.1
38
33
  type: :runtime
39
34
  prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
43
- - - ! '>='
44
- - !ruby/object:Gem::Version
45
- version: 1.2.1
35
+ version_requirements: *70358125576980
46
36
  - !ruby/object:Gem::Dependency
47
37
  name: capistrano_colors
48
- requirement: !ruby/object:Gem::Requirement
38
+ requirement: &70358125576460 !ruby/object:Gem::Requirement
49
39
  none: false
50
40
  requirements:
51
41
  - - ! '>='
@@ -53,31 +43,21 @@ dependencies:
53
43
  version: 0.5.5
54
44
  type: :runtime
55
45
  prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
- requirements:
59
- - - ! '>='
60
- - !ruby/object:Gem::Version
61
- version: 0.5.5
46
+ version_requirements: *70358125576460
62
47
  - !ruby/object:Gem::Dependency
63
- name: kcapifony
64
- requirement: !ruby/object:Gem::Requirement
48
+ name: capifony
49
+ requirement: &70358125575960 !ruby/object:Gem::Requirement
65
50
  none: false
66
51
  requirements:
67
52
  - - ! '>='
68
53
  - !ruby/object:Gem::Version
69
- version: 2.1.3
54
+ version: 2.1.13
70
55
  type: :runtime
71
56
  prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
- requirements:
75
- - - ! '>='
76
- - !ruby/object:Gem::Version
77
- version: 2.1.3
57
+ version_requirements: *70358125575960
78
58
  - !ruby/object:Gem::Dependency
79
59
  name: json
80
- requirement: !ruby/object:Gem::Requirement
60
+ requirement: &70358125575480 !ruby/object:Gem::Requirement
81
61
  none: false
82
62
  requirements:
83
63
  - - ! '>='
@@ -85,15 +65,10 @@ dependencies:
85
65
  version: 1.6.6
86
66
  type: :runtime
87
67
  prerelease: false
88
- version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
- requirements:
91
- - - ! '>='
92
- - !ruby/object:Gem::Version
93
- version: 1.6.6
68
+ version_requirements: *70358125575480
94
69
  - !ruby/object:Gem::Dependency
95
70
  name: broach
96
- requirement: !ruby/object:Gem::Requirement
71
+ requirement: &70358125574980 !ruby/object:Gem::Requirement
97
72
  none: false
98
73
  requirements:
99
74
  - - ! '>='
@@ -101,15 +76,10 @@ dependencies:
101
76
  version: 0.2.1
102
77
  type: :runtime
103
78
  prerelease: false
104
- version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
- requirements:
107
- - - ! '>='
108
- - !ruby/object:Gem::Version
109
- version: 0.2.1
79
+ version_requirements: *70358125574980
110
80
  - !ruby/object:Gem::Dependency
111
81
  name: highline
112
- requirement: !ruby/object:Gem::Requirement
82
+ requirement: &70358125568260 !ruby/object:Gem::Requirement
113
83
  none: false
114
84
  requirements:
115
85
  - - ! '>='
@@ -117,12 +87,7 @@ dependencies:
117
87
  version: 1.6.11
118
88
  type: :runtime
119
89
  prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
- requirements:
123
- - - ! '>='
124
- - !ruby/object:Gem::Version
125
- version: 1.6.11
90
+ version_requirements: *70358125568260
126
91
  description: Deploying applications with Capistrano, Jenkins and GIT.
127
92
  email: support@kunstmaan.be
128
93
  executables:
@@ -157,7 +122,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
157
122
  version: '0'
158
123
  requirements: []
159
124
  rubyforge_project:
160
- rubygems_version: 1.8.23
125
+ rubygems_version: 1.8.10
161
126
  signing_key:
162
127
  specification_version: 3
163
128
  summary: Deploying applications with Capistrano, Jenkins and GIT.