capun 0.0.23 → 0.0.24
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 +4 -4
- data/lib/capun/setup.rb +19 -17
- data/lib/capun/version.rb +1 -1
- data/lib/generators/capun/install_generator.rb +0 -3
- data/lib/generators/capun/stage_generator.rb +10 -4
- data/lib/generators/capun/templates/deploy.rb.erb +2 -2
- data/lib/generators/capun/templates/jenkins.config.xml.erb +0 -1
- data/lib/generators/capun/templates/newrelic.yml.erb +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 978c97c1eb0c4875d6427b0f8f3c9b5d041366dd
|
|
4
|
+
data.tar.gz: b16cc36dffa774a4c702f9b9354de6dce034d825
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 3950cc98d2296a3c495f0511482c6f3832af9ad6258b65f05738be7c212c2f949ccefd68f3adfed6394cc4abc9c7b9afeaf920287d4afd12644d5da4f8871152
|
|
7
|
+
data.tar.gz: 20aae31bbc4fd6a3700a7bc7c770cf112225c10e5988a3d967c4c206c4d4580e5033165b9449741f404e9d198bcc2c759dc1206a68e3c118883c36d4d13e49c3
|
data/lib/capun/setup.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
require 'digest'
|
|
2
2
|
set :deploy_to, -> {"/home/#{fetch(:user)}/apps/#{fetch(:application)}"}
|
|
3
|
-
set :rvm1_ruby_version, "2.
|
|
3
|
+
set :rvm1_ruby_version, "ruby-2.3.0"
|
|
4
4
|
set :branch, 'master'
|
|
5
5
|
# Remote caching will keep a local git repository on the server you're deploying to
|
|
6
6
|
# and simply run a fetch from that rather than an entire clone
|
|
@@ -18,25 +18,23 @@ set :unicorn_config_path, -> { "#{shared_path}/config/unicorn.config.rb" }
|
|
|
18
18
|
set :uploads, []
|
|
19
19
|
set :std_uploads, [
|
|
20
20
|
#figaro
|
|
21
|
-
{what: "config/application.yml", where: '#{shared_path}/config/application.yml', overwrite: true},
|
|
21
|
+
{what: "config/application.yml", where: '#{shared_path}/config/application.yml', upload: true, overwrite: true},
|
|
22
22
|
#logstash configs
|
|
23
|
-
{what: "config/deploy/logstash.config.erb", where: '#{shared_path}/config/logstash.config', overwrite: true},
|
|
23
|
+
{what: "config/deploy/logstash.config.erb", where: '#{shared_path}/config/logstash.config', upload: -> { !!fetch(:addELK) }, overwrite: true},
|
|
24
24
|
#logrotate configs
|
|
25
|
-
{what: "config/deploy/logrotate.config.erb", where: '#{shared_path}/config/logrotate.config', overwrite: true},
|
|
25
|
+
{what: "config/deploy/logrotate.config.erb", where: '#{shared_path}/config/logrotate.config', upload: -> { !!fetch(:addlogrotate) }, overwrite: true},
|
|
26
26
|
#basic_authenticatable.rb
|
|
27
|
-
{what: "config/deploy/basic_authenticatable.rb.erb", where: '#{release_path}/app/controllers/concerns/basic_authenticatable.rb', overwrite: true},
|
|
27
|
+
{what: "config/deploy/basic_authenticatable.rb.erb", where: '#{release_path}/app/controllers/concerns/basic_authenticatable.rb', upload: -> { !!fetch(:use_basic_auth) }, overwrite: true},
|
|
28
28
|
#nginx.conf
|
|
29
|
-
{what: "config/deploy/nginx.conf.erb", where: '#{shared_path}/config/nginx.conf', overwrite: true},
|
|
29
|
+
{what: "config/deploy/nginx.conf.erb", where: '#{shared_path}/config/nginx.conf', upload: -> { !!fetch(:addNginx) }, overwrite: true},
|
|
30
30
|
#unicorn.config.rb
|
|
31
|
-
{what: "config/deploy/unicorn.config.rb.erb", where: '#{shared_path}/config/unicorn.config.rb', overwrite: true},
|
|
32
|
-
#secret_token.rb
|
|
33
|
-
{what: "config/initializers/secret_token.rb", where: '#{release_path}/config/initializers/secret_token.rb', overwrite: true},
|
|
31
|
+
{what: "config/deploy/unicorn.config.rb.erb", where: '#{shared_path}/config/unicorn.config.rb', upload: true, overwrite: true},
|
|
34
32
|
#database.yml
|
|
35
|
-
{what: "config/deploy/database.yml.erb", where: '#{shared_path}/config/database.yml', overwrite: true},
|
|
33
|
+
{what: "config/deploy/database.yml.erb", where: '#{shared_path}/config/database.yml', upload: true, overwrite: true},
|
|
36
34
|
#jenkins' config.xml
|
|
37
|
-
{what: "config/deploy/jenkins.config.xml.erb", where: '#{shared_path}/config/jenkins.config.xml', overwrite: false},
|
|
35
|
+
{what: "config/deploy/jenkins.config.xml.erb", where: '#{shared_path}/config/jenkins.config.xml', upload: -> { !!fetch(:addJenkins) }, overwrite: false},
|
|
38
36
|
#newrelic.yml
|
|
39
|
-
{what: "config/deploy/newrelic.yml.erb", where: '#{
|
|
37
|
+
{what: "config/deploy/newrelic.yml.erb", where: '#{shared_path}/config/newrelic.yml', upload: -> { !!fetch(:addNewRelic) }, overwrite: true}
|
|
40
38
|
]
|
|
41
39
|
|
|
42
40
|
set :symlinks, []
|
|
@@ -46,7 +44,8 @@ set :std_symlinks, [
|
|
|
46
44
|
{what: "logrotate.config", where: '/etc/logrotate.d/#{fetch(:application)}'},
|
|
47
45
|
{what: "database.yml", where: '#{release_path}/config/database.yml'},
|
|
48
46
|
{what: "application.yml", where: '#{release_path}/config/application.yml'},
|
|
49
|
-
{what: "jenkins.config.xml", where: '/var/lib/jenkins/jobs/#{fetch(:application)}/config.xml'}
|
|
47
|
+
{what: "jenkins.config.xml", where: '/var/lib/jenkins/jobs/#{fetch(:application)}/config.xml'},
|
|
48
|
+
{what: "newrelic.yml", where: '#{release_path}/config/newrelic.yml'}
|
|
50
49
|
]
|
|
51
50
|
|
|
52
51
|
before 'deploy', 'rvm1:install:rvm' # install/update RVM
|
|
@@ -71,7 +70,8 @@ namespace :deploy do
|
|
|
71
70
|
uploads = fetch(:uploads).concat(fetch(:std_uploads))
|
|
72
71
|
uploads.each do |file_hash|
|
|
73
72
|
what = file_hash[:what]
|
|
74
|
-
next if !
|
|
73
|
+
next if !file_hash[:upload] || ( file_hash[:upload].is_a?(Proc) && !file_hash[:upload].call )
|
|
74
|
+
next unless File.exists?(what)
|
|
75
75
|
where = eval "\"" + file_hash[:where] + "\""
|
|
76
76
|
next if !file_hash[:overwrite] && test("[ -f #{where} ]")
|
|
77
77
|
#compile temlate if it ends with .erb before upload
|
|
@@ -146,8 +146,10 @@ namespace :deploy do
|
|
|
146
146
|
|
|
147
147
|
desc 'Restart nginx'
|
|
148
148
|
task :restart_nginx do
|
|
149
|
-
|
|
150
|
-
|
|
149
|
+
if fetch(:addNginx)
|
|
150
|
+
on roles(:app) do
|
|
151
|
+
execute :sudo, "service nginx reload"
|
|
152
|
+
end
|
|
151
153
|
end
|
|
152
154
|
end
|
|
153
155
|
|
|
@@ -170,4 +172,4 @@ after "deploy:publishing", "deploy:set_up_jenkins"
|
|
|
170
172
|
after "deploy:publishing", "deploy:prepare_logrotate"
|
|
171
173
|
after "deploy:publishing", "deploy:restart_nginx"
|
|
172
174
|
after "deploy:publishing", "deploy:restart_logstash"
|
|
173
|
-
after "deploy:publishing", "unicorn:
|
|
175
|
+
after "deploy:publishing", "unicorn:legacy_restart"
|
data/lib/capun/version.rb
CHANGED
|
@@ -16,15 +16,12 @@ module Capun
|
|
|
16
16
|
def copy_files
|
|
17
17
|
empty_directory "config/deploy"
|
|
18
18
|
copy_file "database.yml.erb", "config/deploy/database.yml.erb"
|
|
19
|
-
copy_file "nginx.conf.erb", "config/deploy/nginx.conf.erb"
|
|
20
19
|
copy_file "unicorn.config.rb.erb", "config/deploy/unicorn.config.rb.erb"
|
|
21
20
|
copy_file "Capfile", "Capfile"
|
|
22
21
|
end
|
|
23
22
|
|
|
24
23
|
def add_to_gitignore
|
|
25
|
-
gsub_file ".gitignore", "\nconfig/initializers/secret_token.rb", '' if File.exists?("./.gitignore")
|
|
26
24
|
gsub_file ".gitignore", "\nconfig/deploy/database.yml.erb", '' if File.exists?("./.gitignore")
|
|
27
|
-
append_to_file ".gitignore", "\nconfig/initializers/secret_token.rb" if File.exists?("./.gitignore")
|
|
28
25
|
append_to_file ".gitignore", "\nconfig/deploy/database.yml.erb" if File.exists?("./.gitignore")
|
|
29
26
|
end
|
|
30
27
|
|
|
@@ -15,10 +15,8 @@ module Capun
|
|
|
15
15
|
@username = ask("Basic authentication username [ex.: mike]:")
|
|
16
16
|
@password = ask("Basic authentication password [ex.: secret]:")
|
|
17
17
|
end
|
|
18
|
+
@addNginx = ask("Would you like to add nginx configuration file? [Y/n]").capitalize == 'Y'
|
|
18
19
|
@addJenkins = ask("Would you like to add Jenkins configuration file? [Y/n]").capitalize == 'Y'
|
|
19
|
-
if @addJenkins
|
|
20
|
-
@jenkinsToken = ask("New Jenkins token key:")
|
|
21
|
-
end
|
|
22
20
|
@addNewRelic = ask("Would you like to add New Relic configuration file? [Y/n]").capitalize == 'Y'
|
|
23
21
|
if @addNewRelic
|
|
24
22
|
@newRelicKey = ask("New relic key:")
|
|
@@ -50,6 +48,13 @@ module Capun
|
|
|
50
48
|
end
|
|
51
49
|
end
|
|
52
50
|
|
|
51
|
+
def add_nginx
|
|
52
|
+
if @addNginx
|
|
53
|
+
copy_file "nginx.conf.erb", "config/deploy/nginx.conf.erb"
|
|
54
|
+
append_to_file "config/deploy/#{singular_name}.rb", "\nset :addNginx, true"
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
|
|
53
58
|
def add_secret
|
|
54
59
|
if File.exists?("config/secrets.yml")
|
|
55
60
|
secret_token_does_not_exist = Thor::CoreExt::HashWithIndifferentAccess.new(::YAML::load_file("config/secrets.yml"))[singular_name].nil?
|
|
@@ -91,7 +96,8 @@ module Capun
|
|
|
91
96
|
def add_jenkins
|
|
92
97
|
if @addJenkins
|
|
93
98
|
copy_file "jenkins.config.xml.erb", "config/deploy/jenkins.config.xml.erb"
|
|
94
|
-
|
|
99
|
+
jenkinsToken = Digest::MD5.hexdigest(@appname + Time.now.to_f.to_s)
|
|
100
|
+
append_to_file "config/deploy/#{singular_name}.rb", "\nset :addJenkins, true\nset :jenkinsToken, \"#{jenkinsToken}\""
|
|
95
101
|
end
|
|
96
102
|
end
|
|
97
103
|
|
|
@@ -9,6 +9,6 @@ server '<%= @server %>', user: fetch(:user), roles: %w{web app db}
|
|
|
9
9
|
set :repo_url, '<%= @repo %>'
|
|
10
10
|
# set :branch, 'master'
|
|
11
11
|
|
|
12
|
-
set :rvm1_ruby_version, "ruby-2.
|
|
12
|
+
set :rvm1_ruby_version, "ruby-2.3.0"
|
|
13
13
|
|
|
14
|
-
# set :linked_dirs, %w{
|
|
14
|
+
# set :linked_dirs, %w{log tmp/pids tmp/cache tmp/sockets public/system}
|
|
@@ -28,7 +28,7 @@ common: &default_settings
|
|
|
28
28
|
# If your application has other named environments, configure them here.
|
|
29
29
|
development:
|
|
30
30
|
<<: *default_settings
|
|
31
|
-
app_name: <%= fetch(:application) %>
|
|
31
|
+
app_name: <%= fetch(:application) %>
|
|
32
32
|
|
|
33
33
|
# NOTE: There is substantial overhead when running in developer mode.
|
|
34
34
|
# Do not use for production or load testing.
|
|
@@ -41,4 +41,4 @@ test:
|
|
|
41
41
|
|
|
42
42
|
<%= fetch(:stage) %>:
|
|
43
43
|
<<: *default_settings
|
|
44
|
-
app_name: <%= fetch(:application) %>
|
|
44
|
+
app_name: <%= fetch(:application) %>
|
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.
|
|
4
|
+
version: 0.0.24
|
|
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-02
|
|
11
|
+
date: 2016-03-02 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|