capun 0.0.34 → 0.0.35

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: 1d6b9cc66696570bb87a7cecd0aab5219440a38c
4
- data.tar.gz: 98ae084f9a1bfb4690f3fbb86ca41bdd506ee759
3
+ metadata.gz: 7550bf4a718eae76383022f37c3418bc34f9a4d5
4
+ data.tar.gz: 6e2bc4558ce4dc659eb9462c06c2bf3165db4612
5
5
  SHA512:
6
- metadata.gz: 3e308ecc6673e7727b329ec10e156067db68dd5b11e59fa3436ebb98254886629059314415095cd439c7a58a581723e897b07a45b852542748b30bed4c3e3632
7
- data.tar.gz: 87c27e9b546b2c8d99a7ea5156988bb1b467af60d540e2fd08f38be4e177b1d347a098a98d8186758de580f57d817d3751335fb03f6e221709bc84dd7fb0e674
6
+ metadata.gz: 967782850fc2f2ace0e1e8715ca61f419a8357cc9ec92e36d6f2da982625480a14f9a53955764ea6cea0ee48c5060ec97c808302753e75a9a6ce1ff23347686c
7
+ data.tar.gz: 85d9e244b2ec6e71dd371792e4f364c60f2042beeaf07470700af5f59ae88301ae6f08bbde734915ad92b97ed415625aaca63f27220797f7417c8d93e2d5a3ee
@@ -38,6 +38,8 @@ set :std_uploads, [
38
38
  {what: "config/deploy/drivesink.py", where: '#{shared_path}/drivesink.py', upload: true, overwrite: true},
39
39
  # backup.sh.erb
40
40
  {what: "config/deploy/database.yml.erb", where: '#{shared_path}/config/database.yml', upload: true, overwrite: true},
41
+ # restart script
42
+ {what: "config/deploy/start.erb", where: '#{release_path}/bin/start', upload: true, overwrite: true},
41
43
  # jenkins' config.xml
42
44
  {what: "config/deploy/jenkins.config.xml.erb", where: '/var/lib/jenkins/jobs/#{fetch(:application)}/config.xml', upload: -> { !!fetch(:addJenkins) }, overwrite: false},
43
45
  # newrelic.yml
@@ -64,6 +66,16 @@ namespace :backup do
64
66
  end
65
67
  end
66
68
 
69
+ desc "Start server"
70
+ task :start do
71
+ invoke 'deploy:kill_me'
72
+ invoke 'unicorn:start'
73
+ invoke 'delayed_job:restart' if fetch(:delayed_job)
74
+ invoke 'clockwork:restart' if fetch(:clockwork)
75
+ end
76
+
77
+
78
+
67
79
  namespace :predeploy do
68
80
  namespace :install do
69
81
  desc 'Install RVM & Ruby'
@@ -201,6 +213,17 @@ namespace :deploy do
201
213
  end
202
214
  end
203
215
 
216
+ desc 'Setting up autorestart'
217
+ task :autorestart do
218
+ if fetch(:autorestart)
219
+ on roles(:app) do
220
+ execute :chmod, "+x #{release_path}/bin/start"
221
+ info "making start executable"
222
+ execute :sudo, :ln, "-nfs", "#{release_path}/bin/start /etc/init.d/autorestart-#{fetch(:application).gsub(/\./, '-')}"
223
+ info "Create symbolic link for autorestart"
224
+ end
225
+ end
226
+ end
204
227
  end
205
228
 
206
229
  before "deploy:updating", "deploy:make_dirs"
@@ -209,6 +232,7 @@ after "deploy:symlink:linked_dirs", "deploy:upload"
209
232
  after "deploy:symlink:linked_dirs", "deploy:add_symlinks"
210
233
  after "deploy:publishing", "deploy:set_up_jenkins"
211
234
  after "deploy:publishing", "deploy:prepare_logrotate"
235
+ after "deploy:publishing", "deploy:autorestart"
212
236
  after "deploy:publishing", "deploy:restart_nginx"
213
237
  after "deploy:publishing", "deploy:restart_logstash"
214
238
  after "deploy:publishing", "deploy:update_cron"
@@ -1,3 +1,3 @@
1
1
  module Capun
2
- VERSION = "0.0.34"
2
+ VERSION = "0.0.35"
3
3
  end
@@ -15,6 +15,7 @@ module Capun
15
15
 
16
16
  def copy_files
17
17
  empty_directory "config/deploy"
18
+ copy_file "start.erb", "config/deploy/start.erb"
18
19
  copy_file "database.yml.erb", "config/deploy/database.yml.erb"
19
20
  copy_file "unicorn.config.rb.erb", "config/deploy/unicorn.config.rb.erb"
20
21
  copy_file "nginx.conf.erb", "config/deploy/nginx.conf.erb"
@@ -23,6 +23,9 @@ module Capun
23
23
  @addELK = ask("Would you like to add ELK-compatible logging? [Y/n]").capitalize == 'Y'
24
24
  @addlogrotate = ask("Would you like to add logrotate configuration to stage? [Y/n]").capitalize == 'Y'
25
25
  @useBackups = ask("Would you like to add amazon backup system? [Y/n]").capitalize == 'Y'
26
+ @addDelayedJob = ask("Would you like to add delayed job worker? [Y/n]").capitalize == 'Y'
27
+ @addClockwork = ask("Would you like to add clockwork worker? [Y/n]").capitalize == 'Y'
28
+ @autorestart = ask("Would you like to start application after server restart? [Y/n]").capitalize == 'Y'
26
29
  end
27
30
 
28
31
  def add_stage
@@ -100,6 +103,26 @@ module Capun
100
103
  end
101
104
  end
102
105
 
106
+ def addDelayedJob
107
+ if @addDelayedJob
108
+ append_to_file "config/deploy.rb","set :delayed_job, true\n"
109
+ append_to_file "Gemfile","gem 'delayed_job'\n"
110
+ append_to_file "Gemfile","gem 'delayed_job_active_record'\n"
111
+ append_to_file "Gemfile","gem 'capistrano3-delayed-job', '~> 1.0'\n"
112
+ end
113
+ end
114
+ def addClockwork
115
+ if @addClockwork
116
+ append_to_file "config/deploy.rb","set :clockwork, true\n"
117
+ append_to_file "Gemfile","gem 'clockwork'\n"
118
+ append_to_file "Gemfile","gem 'capistrano-clockwork'\n"
119
+ end
120
+ end
121
+ def addAutorestart
122
+ if @autorestart
123
+ append_to_file "config/deploy/#{singular_name}.rb", "set :autorestart, true\n"
124
+ end
125
+ end
103
126
  def add_jenkins
104
127
  if @addJenkins
105
128
  copy_file "jenkins.config.xml.erb", "config/deploy/jenkins.config.xml.erb"
@@ -19,7 +19,17 @@ database=$(cat config/database.yml | grep database | sed s/database://g | xargs)
19
19
  mysqldump --user="$username" --password="$password" $database > "backuping/version-$curdate/<%=fetch(:stage)%>.sql"
20
20
  fi
21
21
 
22
- python drivesink.py upload "backuping" <%= fetch(:backupDestinationFolder) || "backups/firstdedic-server/" + fetch(:application) %>
22
+ COUNTER=5
23
+ until [ $COUNTER -lt 1 ]; do
24
+ echo COUNTER $COUNTER
25
+ let COUNTER-=1
26
+ python drivesink.py upload "backuping" <%= fetch(:backupDestinationFolder) || "backups/firstdedic-server/" + fetch(:application) %> >> log/backup.log
27
+ if [ $? -eq 0 ]; then
28
+ let COUNTER=0
29
+ else
30
+ let COUNTER-=1
31
+ fi
32
+ done
23
33
 
24
34
  if [ $? -eq 0 ]; then
25
35
  SIZE=$(du -sh backuping | awk '{print $1}')
@@ -12,3 +12,4 @@ set :repo_url, '<%= @repo %>'
12
12
  set :rvm1_ruby_version, "ruby-2.3.0"
13
13
 
14
14
  # set :linked_dirs, %w{log tmp/pids tmp/cache tmp/sockets public/system}
15
+ # after 'start', 'your_task' # you can set additional capistrano tasks to start server properly
@@ -0,0 +1,3 @@
1
+ #!/bin/bash
2
+ cd ..
3
+ bundle exec cap <%= fetch(:stage) %> start
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capun
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.34
4
+ version: 0.0.35
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ivan Zamylin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-08-24 00:00:00.000000000 Z
11
+ date: 2016-08-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -142,6 +142,7 @@ files:
142
142
  - lib/generators/capun/templates/newrelic.yml.erb
143
143
  - lib/generators/capun/templates/nginx.conf.erb
144
144
  - lib/generators/capun/templates/stage.rb.erb
145
+ - lib/generators/capun/templates/start.erb
145
146
  - lib/generators/capun/templates/unicorn.config.rb.erb
146
147
  homepage: https://github.com/zamylin/capun
147
148
  licenses: