capobvious 0.3.pre3 → 0.3.pre4
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.
- data/bin/capobvious +7 -8
- data/lib/capobvious/recipes/backup.rb +16 -7
- data/lib/capobvious/recipes/db.rb +7 -5
- data/lib/capobvious/recipes/main.rb +1 -0
- data/lib/capobvious/version.rb +1 -1
- metadata +14 -14
data/bin/capobvious
CHANGED
@@ -38,6 +38,8 @@ end
|
|
38
38
|
|
39
39
|
repository=`git remote -v`.split("\n").first.split("\t").last.split(/\s+/).first rescue nil
|
40
40
|
|
41
|
+
deploy_to = 'set :deploy_to, "/home/#{user}/www/#{application}"'
|
42
|
+
|
41
43
|
files = {
|
42
44
|
"Capfile" => <<FILE,
|
43
45
|
load 'deploy'
|
@@ -48,23 +50,20 @@ FILE
|
|
48
50
|
|
49
51
|
"config/deploy.rb" => <<FILE,
|
50
52
|
# -*- encoding : utf-8 -*-
|
51
|
-
set :
|
52
|
-
set :application, "
|
53
|
+
set :ruby_version, '#{RUBY_VERSION}'
|
54
|
+
set :application, "#{File.basename(Dir.getwd)}"
|
53
55
|
set :user, "USER_NAME_HERE"
|
54
56
|
set :serv, "IP_ADDRESS_HERE"
|
55
57
|
|
56
58
|
set :repository, "#{repository||'REPOSITORY_HERE'}"
|
57
59
|
set :branch, "master"
|
58
|
-
set :server_name, "
|
59
|
-
set :server_redirect, "
|
60
|
+
set :server_name, "EXAMPLE.com"
|
61
|
+
set :server_redirect, "WWW.EXAMPLE.COM"
|
60
62
|
|
61
|
-
set :assets, true
|
62
63
|
set :backup_db, false
|
63
64
|
set :backup_sys, false
|
64
|
-
set :auto_migrate, true
|
65
65
|
|
66
|
-
#
|
67
|
-
set :deploy_via, :remote_cache
|
66
|
+
#{deploy_to}
|
68
67
|
|
69
68
|
set :keep_releases, 5
|
70
69
|
set :use_sudo, false
|
@@ -1,7 +1,16 @@
|
|
1
1
|
Capistrano::Configuration.instance(:must_exist).load do
|
2
|
+
def database_yml(env = rails_env)
|
3
|
+
yml = File.read(fetch(:database_yml_path))
|
4
|
+
config = YAML::load(yml)[env.to_s]
|
5
|
+
config.keys.each do |key|
|
6
|
+
config[(key.to_sym rescue key) || key] = config.delete(key)
|
7
|
+
end
|
8
|
+
config
|
9
|
+
end
|
2
10
|
namespace :backup do
|
3
11
|
desc "Backup a database"
|
4
12
|
task :db do
|
13
|
+
yml = database_yml
|
5
14
|
file_name = fetch(:db_file_name)
|
6
15
|
archive_ext = fetch(:db_archive_ext)
|
7
16
|
dump_file_path = "#{shared_path}/backup/#{file_name}"
|
@@ -9,15 +18,15 @@ Capistrano::Configuration.instance(:must_exist).load do
|
|
9
18
|
output_file_path = "#{dump_file_path}.#{archive_ext}"
|
10
19
|
require 'yaml'
|
11
20
|
run "mkdir -p #{shared_path}/backup"
|
12
|
-
if adapter == "postgresql"
|
13
|
-
logger.important("Backup database #{database}", "Backup:db")
|
14
|
-
run "export PGPASSWORD=\"#{
|
21
|
+
if yml[:adapter] == "postgresql"
|
22
|
+
logger.important("Backup database #{yml[:database]}", "Backup:db")
|
23
|
+
run "export PGPASSWORD=\"#{yml[:password]}\" && pg_dump -U #{yml[:username]} #{yml[:database]} > #{dump_file_path}"
|
15
24
|
run "cd #{shared_path}/backup && #{arch_create} #{output_file} #{file_name} && rm #{dump_file_path}"
|
16
25
|
else
|
17
|
-
puts "Cannot backup, adapter #{adapter} is not implemented for backup yet"
|
26
|
+
puts "Cannot backup, adapter #{yml[:adapter]} is not implemented for backup yet"
|
18
27
|
end
|
19
|
-
system "mkdir -p #{
|
20
|
-
download_path = "#{
|
28
|
+
system "mkdir -p #{backup_folder_path}"
|
29
|
+
download_path = "#{backup_folder_path}/#{file_name}.#{archive_ext}"
|
21
30
|
logger.important("Downloading database to #{download_path}", "Backup:db")
|
22
31
|
download(output_file_path, download_path)
|
23
32
|
run "rm -v #{output_file_path}" if fetch(:del_backup)
|
@@ -27,7 +36,7 @@ Capistrano::Configuration.instance(:must_exist).load do
|
|
27
36
|
file_path = "#{shared_path}/backup/#{sys_file_name}"
|
28
37
|
logger.important("Backup shared/system folder", "Backup:sys")
|
29
38
|
run "#{arch_create} #{file_path} -C #{shared_path} system"
|
30
|
-
download_path = "#{
|
39
|
+
download_path = "#{backup_folder_path}/#{sys_file_name}"
|
31
40
|
logger.important("Downloading system to #{download_path}", "Backup:db")
|
32
41
|
download(file_path, download_path)
|
33
42
|
run "rm -v #{file_path}" if fetch(:del_backup)
|
@@ -54,14 +54,16 @@ Capistrano::Configuration.instance(:must_exist).load do
|
|
54
54
|
end
|
55
55
|
|
56
56
|
task :import do
|
57
|
+
yml = database_yml(:development)
|
58
|
+
yml[:username] = `whoami`.chop unless yml[:username]
|
59
|
+
|
57
60
|
file_name = "#{db_file_name}.#{db_archive_ext}"
|
58
61
|
file_path = "#{backup_folder_path}/#{file_name}"
|
59
62
|
system "cd #{backup_folder_path} && #{arch_extract} #{file_name}"
|
60
|
-
system "echo \"drop database IF EXISTS #{
|
61
|
-
system "echo \"create database #{
|
62
|
-
|
63
|
-
|
64
|
-
system "#{psql} -U#{local_db_username} #{local_database} < #{backup_folder_path}/#{db_file_name}"
|
63
|
+
system "echo \"drop database IF EXISTS #{yml[:database]}\" | #{psql_postgres}"
|
64
|
+
system "echo \"create database #{yml[:database]} owner #{yml[:username]};\" | #{psql_postgres}"
|
65
|
+
puts "ENTER your development password: #{yml[:password]}"
|
66
|
+
system "#{psql} -U#{yml[:username]} #{yml[:database]} < #{backup_folder_path}/#{db_file_name}"
|
65
67
|
system "rm #{backup_folder_path}/#{db_file_name}"
|
66
68
|
end
|
67
69
|
task :pg_import do
|
@@ -10,6 +10,7 @@ Capistrano::Configuration.instance(:must_exist).load do
|
|
10
10
|
_cset :del_backup, true
|
11
11
|
_cset :backup_folder_path, "tmp/backup"
|
12
12
|
_cset :database_yml_path, 'config/database.yml'
|
13
|
+
_cset :auto_migrate, true
|
13
14
|
|
14
15
|
set :rvmrc_string ,"rvm use #{fetch(:ruby_version)}"
|
15
16
|
after "deploy:update_code", "create:rvmrc"
|
data/lib/capobvious/version.rb
CHANGED
metadata
CHANGED
@@ -1,48 +1,48 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capobvious
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.pre3
|
5
4
|
prerelease: 4
|
5
|
+
version: 0.3.pre4
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Dmitry Gruzd
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-12-
|
12
|
+
date: 2012-12-19 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
|
-
|
16
|
-
prerelease: false
|
15
|
+
type: :runtime
|
17
16
|
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
20
20
|
- !ruby/object:Gem::Version
|
21
21
|
version: '0'
|
22
|
-
|
23
|
-
type: :runtime
|
22
|
+
prerelease: false
|
24
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
none: false
|
25
25
|
requirements:
|
26
26
|
- - ! '>='
|
27
27
|
- !ruby/object:Gem::Version
|
28
28
|
version: '0'
|
29
|
-
|
29
|
+
name: capistrano
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
|
-
|
32
|
-
prerelease: false
|
31
|
+
type: :runtime
|
33
32
|
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
34
|
requirements:
|
35
35
|
- - ! '>='
|
36
36
|
- !ruby/object:Gem::Version
|
37
37
|
version: '0'
|
38
|
-
|
39
|
-
type: :runtime
|
38
|
+
prerelease: false
|
40
39
|
version_requirements: !ruby/object:Gem::Requirement
|
40
|
+
none: false
|
41
41
|
requirements:
|
42
42
|
- - ! '>='
|
43
43
|
- !ruby/object:Gem::Version
|
44
44
|
version: '0'
|
45
|
-
|
45
|
+
name: rvm-capistrano
|
46
46
|
description: Capfile that we use every day
|
47
47
|
email:
|
48
48
|
- donotsendhere@gmail.com
|
@@ -80,17 +80,17 @@ rdoc_options: []
|
|
80
80
|
require_paths:
|
81
81
|
- lib
|
82
82
|
required_ruby_version: !ruby/object:Gem::Requirement
|
83
|
+
none: false
|
83
84
|
requirements:
|
84
85
|
- - ! '>='
|
85
86
|
- !ruby/object:Gem::Version
|
86
87
|
version: '0'
|
87
|
-
none: false
|
88
88
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
89
90
|
requirements:
|
90
91
|
- - ! '>'
|
91
92
|
- !ruby/object:Gem::Version
|
92
93
|
version: 1.3.1
|
93
|
-
none: false
|
94
94
|
requirements: []
|
95
95
|
rubyforge_project: capobvious
|
96
96
|
rubygems_version: 1.8.24
|