gploy 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- data/README.markdown +8 -6
- data/Rakefile +1 -1
- data/lib/gploy/configure.rb +2 -1
- data/lib/gploy/helpers.rb +30 -7
- metadata +3 -3
data/README.markdown
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
This is version 0.1.4, it has small change in the code, removing some duplication. Also a new method for logs, and other functionality that is now the only gem wheel task migration database when necessary.
|
2
|
+
|
1
3
|
## Introduction
|
2
4
|
|
3
5
|
This is a simple RubyGems to configure your Rails Project for deployment using git push, this gem only make a series of configurations in your local project and to in your web server. This gem consider what you are using locaweb to host your project and using git obviously.
|
@@ -14,7 +16,7 @@ This gem generate only two simple file into the config directory, one file is ca
|
|
14
16
|
|
15
17
|
### The config.yaml file:
|
16
18
|
|
17
|
-
The contents of this file
|
19
|
+
The contents of this file must be like this:
|
18
20
|
|
19
21
|
config:
|
20
22
|
url: host
|
@@ -27,7 +29,7 @@ If your git is already configured for origin use another, for example: productio
|
|
27
29
|
|
28
30
|
### The post-receive file:
|
29
31
|
|
30
|
-
The contents of this file
|
32
|
+
The contents of this file must be like this:
|
31
33
|
|
32
34
|
#!/bin/sh
|
33
35
|
cd ~/rails_app/project_name
|
@@ -39,17 +41,17 @@ The contents of this file should be like this:
|
|
39
41
|
The post-receive file is a git hook, read more about hooks at: [www.ru.kernel.org](http://www.ru.kernel.org/pub/software/scm/git/docs/v1.5.2.5/hooks.html)
|
40
42
|
|
41
43
|
## Usage
|
42
|
-
First thing you
|
44
|
+
First thing you must do is install the gploy gem in your computer:
|
43
45
|
|
44
46
|
sudo gem install gploy
|
45
47
|
|
46
|
-
after it inside your rails project your
|
48
|
+
after it inside your rails project your must execute the following commands:
|
47
49
|
|
48
50
|
> gploy -c // For generate config.yaml file
|
49
51
|
|
50
52
|
Now you can edit this file with your data, make sure you not have a origin set in git if you will use it.
|
51
53
|
|
52
|
-
Now lets generate a post-receive file, this file is a git hook, and
|
54
|
+
Now lets generate a post-receive file, this file is a git hook, and must have commands that you want that are executed when your run git push in your project, for this execute:
|
53
55
|
|
54
56
|
> gploy -pr // For generate post-receive file
|
55
57
|
|
@@ -68,7 +70,7 @@ Finally now you can run the command that will upload your project to the server
|
|
68
70
|
|
69
71
|
> gploy -s
|
70
72
|
|
71
|
-
If no error occurs, your project
|
73
|
+
If no error occurs, your project must be available now.
|
72
74
|
|
73
75
|
From now when you want update your project simply do a commit of changes and run git push production master to update project in server.
|
74
76
|
|
data/Rakefile
CHANGED
@@ -5,7 +5,7 @@ require 'rake/gempackagetask'
|
|
5
5
|
require 'spec/rake/spectask'
|
6
6
|
|
7
7
|
GEM = "gploy"
|
8
|
-
GEM_VERSION = "0.1.
|
8
|
+
GEM_VERSION = "0.1.4"
|
9
9
|
SUMMARY = "Simple gem to configure rails project deploy using git(locaweb server only)"
|
10
10
|
AUTHOR = "Edipo Luis Federle"
|
11
11
|
EMAIL = "edipofederle@gmail.com"
|
data/lib/gploy/configure.rb
CHANGED
@@ -9,6 +9,7 @@ module Gploy
|
|
9
9
|
|
10
10
|
include Helpers
|
11
11
|
VERSION = '0.1.3'
|
12
|
+
|
12
13
|
|
13
14
|
def configure_server
|
14
15
|
create_file_and_direcotry_unless_exists("config", "config.yaml")
|
@@ -29,6 +30,7 @@ module Gploy
|
|
29
30
|
end
|
30
31
|
|
31
32
|
def setup
|
33
|
+
check_if_dir_log_exists
|
32
34
|
read_config_file
|
33
35
|
remote
|
34
36
|
initialize_local_repo
|
@@ -56,7 +58,6 @@ module Gploy
|
|
56
58
|
end
|
57
59
|
|
58
60
|
def run_tasks
|
59
|
-
puts "Run db:migrate and Restart Server"
|
60
61
|
migrate(@app_name)
|
61
62
|
restart_server(@app_name)
|
62
63
|
end
|
data/lib/gploy/helpers.rb
CHANGED
@@ -1,14 +1,25 @@
|
|
1
|
-
require 'logger'
|
2
|
-
|
3
1
|
module Gploy
|
4
2
|
module Helpers
|
3
|
+
LOG_PATH = './log/gploylog.log'
|
5
4
|
|
6
|
-
def
|
5
|
+
def check_if_dir_log_exists
|
6
|
+
unless dirExists?("log")
|
7
|
+
Dir.mkdir("log")
|
8
|
+
false
|
9
|
+
else
|
10
|
+
true
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
def logger(msg)
|
7
15
|
puts "--> #{msg}"
|
16
|
+
File.open(LOG_PATH, 'a+') do |f|
|
17
|
+
f.puts "#{Time.now} => #{msg}"
|
18
|
+
end
|
8
19
|
end
|
9
20
|
|
10
21
|
def run_remote(command)
|
11
|
-
|
22
|
+
logger(command)
|
12
23
|
@shell.exec!(command)
|
13
24
|
end
|
14
25
|
|
@@ -17,7 +28,7 @@ module Gploy
|
|
17
28
|
end
|
18
29
|
|
19
30
|
def run_local(command)
|
20
|
-
|
31
|
+
logger(command)
|
21
32
|
Kernel.system command
|
22
33
|
end
|
23
34
|
|
@@ -42,9 +53,21 @@ module Gploy
|
|
42
53
|
def update_hook(username, url, name)
|
43
54
|
run_local "scp config/post-receive #{username}@#{url}:repos/#{name}.git/hooks/"
|
44
55
|
end
|
56
|
+
|
57
|
+
def useMigrations?
|
58
|
+
if File.exists?("db/schema.rb")
|
59
|
+
true
|
60
|
+
else
|
61
|
+
false
|
62
|
+
end
|
63
|
+
end
|
45
64
|
|
46
65
|
def migrate(name)
|
47
|
-
|
66
|
+
if useMigrations?
|
67
|
+
logger("Run db:migrate")
|
68
|
+
run_remote "cd rails_app/#{name}/ && rake db:migrate RAILS_ENV=production"
|
69
|
+
end
|
70
|
+
logger("Projet dont use Migrations yet")
|
48
71
|
end
|
49
72
|
|
50
73
|
def restart_server(name)
|
@@ -76,4 +99,4 @@ CMD
|
|
76
99
|
puts commands
|
77
100
|
end
|
78
101
|
end
|
79
|
-
end
|
102
|
+
end
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 1
|
8
|
-
-
|
9
|
-
version: 0.1.
|
8
|
+
- 4
|
9
|
+
version: 0.1.4
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Edipo Luis Federle
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-
|
17
|
+
date: 2010-05-21 00:00:00 -03:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|