rda 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
1
+ **0.3.0 (Tue, Oct 9, 2012)**
2
+
3
+ * Removed the rake tasks
4
+ * Provide support to release the application
5
+
1
6
  **0.2.0 (Tue, Oct 9, 2012)**
2
7
 
3
8
  * Support to specify the environment of the application
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rda (0.2.0)
4
+ rda (0.3.0)
5
5
  confstruct
6
6
  rails (>= 3.1)
7
7
  thor
data/README.md CHANGED
@@ -2,13 +2,13 @@
2
2
 
3
3
  ### Description
4
4
 
5
- Rda(Rails Development Assist) is combined with lots of useful rake tasks which can help you to setup your development enviroments and tools more quickly. It is also provide a CLI to set up the enviroments.
5
+ Rda(Rails Development Assist) is combined with lots of useful commands which can help you to setup your development enviroments and tools more quickly.
6
6
 
7
7
  ### Features
8
8
 
9
9
  * Set up RVM for your rails application
10
10
  * Deploy your rails application to Nginx (rails_env is set to development by default)
11
- * Release your rails application (not yet)
11
+ * Release your rails application
12
12
 
13
13
  ### Usage
14
14
 
@@ -24,6 +24,8 @@ Or simply add rda to the Gemfile
24
24
  gem 'rda'
25
25
  ```
26
26
 
27
+ That's all.
28
+
27
29
  #### Configuration
28
30
 
29
31
  For configuring rda, you need to create an initializer for rda:
@@ -41,12 +43,9 @@ end
41
43
 
42
44
  ```bash
43
45
  rda rvm setup
44
-
45
- # Or
46
- rake rda:rvm:setup
47
46
  ```
48
47
 
49
- First of all, this task will check whether the RVM is installed. If RVM is installed, it will create a .rvmrc for the application with the content which looks like:
48
+ First of all, this command will check whether the RVM is installed. If RVM is installed, it will create a .rvmrc for the application with the content which looks like:
50
49
 
51
50
  ```bash
52
51
  if [[ -s '/path/to/rvm/environments/ruby-1.9.3-p194@app_name' ]]; then
@@ -64,29 +63,23 @@ rvm rvmrc trust
64
63
 
65
64
  Or you can set `rvm_trust_rvmrcs_flag=1` in ~/.rvmrc or /etc/rvmrc.
66
65
 
67
- If RVM is not installed, this task will do nothing but exit.
66
+ If RVM is not installed, this command will do nothing but exit.
68
67
 
69
68
  #### Discard RVM settings
70
69
 
71
70
  ```bash
72
71
  rda rvm:discard
73
-
74
- # Or
75
- rake rda:rvm:discard
76
72
  ```
77
73
 
78
- This task removes the .rvmrc from your rails application.
74
+ This command removes the .rvmrc from your rails application.
79
75
 
80
76
  #### Setup Nginx
81
77
 
82
78
  ```bash
83
79
  rda nginx setup --environment production --hostname www.example.com
84
-
85
- # Or
86
- rake rda:nginx:setup
87
80
  ```
88
81
 
89
- First this task will try to find the config files of Nginx, which you have installed, from the following paths:
82
+ First this command will try to find the config files of Nginx, which you have installed, from the following paths:
90
83
 
91
84
  * /etc/nginx
92
85
  * /usr/local/nginx/conf
@@ -102,9 +95,6 @@ Please make sure that you have the write permission of the directory you choosed
102
95
 
103
96
  ```bash
104
97
  rvmsudo rda nginx setup --environment production --hostname www.example.com
105
-
106
- # Or
107
- rvmsudo rake rda:nginx:setup
108
98
  ```
109
99
 
110
100
  If there are more than one paths found, it will give you a choice to decide which one will be used. After choosing a proper path, it will try to create two directories sites-available and sites-enabled to save the configs of rails applications.
@@ -122,37 +112,27 @@ Finally, You need to start Nginx `/path/to/nginx/sbin/nginx` and then visit http
122
112
  ```bash
123
113
  rda nginx discard --hostname www.example.com # Or
124
114
 
125
- rake rda:nginx:discard # Or
126
-
127
115
  sudo rda nginx discard --hostname www.example.com # Or
128
116
 
129
- sudo rake rda:nginx:discard # Or
130
-
131
117
  rvmsudo rda nginx discard --hostname www.example.com # Using RVM
132
-
133
- rvmsudo rake rda:nginx:discard # Using RVM
134
118
  ```
135
119
 
136
- This task will clean up all the things created or configured by rda:nginx:setup.
120
+ This command will clean up all the things created or configured by rda:nginx:setup.
137
121
 
138
122
  #### Restart application
139
123
 
140
124
  ```bash
141
125
  rda app restart
142
-
143
- # Or
144
- rake rda:app:restart
145
126
  ```
146
127
 
147
- This task touches tmp/restart.txt to restart your rails application, For detail, please visit [http://bit.ly/ztKA07](http://bit.ly/ztKA07)
128
+ This command touches tmp/restart.txt to restart your rails application, For detail, please visit [http://bit.ly/ztKA07](http://bit.ly/ztKA07)
148
129
 
149
- #### Release your rails application(not yet)
130
+ #### Release your rails application
131
+
132
+ You should create a `VERSION` under your application root path.
150
133
 
151
134
  ```bash
152
135
  rda app release
153
-
154
- # Or
155
- rake rda:app:release
156
136
  ```
157
137
 
158
138
  ### License
data/bin/rda CHANGED
@@ -22,7 +22,7 @@ class RdaCommand < Thor
22
22
  Rda::Nginx.new.send(action.to_sym, options)
23
23
  end
24
24
 
25
- desc 'app ACTION', 'Manage the lifecycle of the application. Available actions: restart.'
25
+ desc 'app ACTION', 'Manage the lifecycle of the application. Available actions: restart, release.'
26
26
  def app(action)
27
27
  Rda::App.new.send(action.to_sym)
28
28
  end
data/lib/rda/app.rb CHANGED
@@ -1,11 +1,42 @@
1
1
  module Rda
2
2
  class App < Thor
3
- desc "Restart", "Restart rails application"
3
+ desc 'Restart', 'Restart the application'
4
4
  def restart
5
- tmp_path = ::Rails.root.to_s + "/tmp"
6
- FileUtils.mkdir_p tmp_path unless Dir.exists?(tmp_path)
5
+ FileUtils.touch dir_of('tmp') + '/restart.txt'
6
+ end
7
+
8
+ desc 'Release', 'Release the application'
9
+ def release
10
+ version_file = File.join(::Rails.root, 'VERSION')
11
+ version = File.exist?(version_file) ? File.read(version_file).strip : ""
12
+
13
+ app_name = Rda::Rails.app_name
14
+
15
+ pkg_dir = dir_of('pkg')
16
+ tmp_dir = dir_of("pkg/#{app_name}")
17
+
18
+ system("rm -fr #{tmp_dir}")
19
+ system("git clone #{::Rails.root} #{tmp_dir}")
20
+
21
+ puts "Create the src release..."
22
+ system("rm -fr #{tmp_dir}/.git")
23
+ system("rm -fr #{tmp_dir}/.gitignore")
24
+ system("cd #{pkg_dir};tar czf #{app_name}-#{version}.src.tar.gz #{app_name}")
25
+
26
+ puts "Create the bin release..."
27
+ system("bundle package")
28
+ system("mv #{::Rails.root}/vendor/cache #{tmp_dir}/vendor")
29
+ system("cd #{pkg_dir};tar czf #{app_name}-#{version}.bin.tar.gz #{app_name}")
30
+ system("rm -fr #{tmp_dir}")
31
+ puts "#{app_name} #{version} released!"
32
+ end
33
+
34
+ private
35
+ def dir_of(dir)
36
+ dir = File.join(::Rails.root.to_s, dir)
37
+ FileUtils.mkdir_p dir unless Dir.exists?(dir)
7
38
 
8
- FileUtils.touch tmp_path + "/restart.txt"
39
+ dir
9
40
  end
10
41
  end
11
42
  end
data/lib/rda/railtie.rb CHANGED
@@ -1,9 +1,5 @@
1
1
  module Rda
2
2
  class Railtie < Rails::Railtie
3
3
  railtie_name :rda
4
-
5
- rake_tasks do
6
- load File.dirname(__FILE__) + "/../tasks/rda_tasks.rake"
7
- end
8
4
  end
9
5
  end
data/lib/rda/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Rda
2
- VERSION = "0.2.0"
2
+ VERSION = "0.3.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rda
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-10-08 00:00:00.000000000 Z
12
+ date: 2012-10-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: pry
@@ -200,7 +200,6 @@ files:
200
200
  - lib/rda/templates/rvmrc
201
201
  - lib/rda/templates/setup_load_paths.rb
202
202
  - lib/rda/version.rb
203
- - lib/tasks/rda_tasks.rake
204
203
  - rda.gemspec
205
204
  - rvmrc.example
206
205
  - spec/dummy/Rakefile
@@ -255,7 +254,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
255
254
  version: '0'
256
255
  segments:
257
256
  - 0
258
- hash: 4004764091252748463
257
+ hash: 3421142442146899695
259
258
  required_rubygems_version: !ruby/object:Gem::Requirement
260
259
  none: false
261
260
  requirements:
@@ -264,7 +263,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
264
263
  version: '0'
265
264
  segments:
266
265
  - 0
267
- hash: 4004764091252748463
266
+ hash: 3421142442146899695
268
267
  requirements: []
269
268
  rubyforge_project:
270
269
  rubygems_version: 1.8.24
@@ -1,38 +0,0 @@
1
- namespace :rda do
2
- namespace :rvm do
3
- rvm = Rda::Rvm.new
4
-
5
- desc "Set up RVM for your rails application"
6
- task :setup do
7
- rvm.setup
8
- end
9
-
10
- desc "Discard RVM settings of your rails application"
11
- task :discard do
12
- rvm.discard
13
- end
14
- end
15
-
16
- namespace :nginx do
17
- nginx = Rda::Nginx.new
18
-
19
- desc "Set up Nginx for your rails application"
20
- task :setup => :environment do
21
- nginx.setup
22
- end
23
-
24
- desc "Discard Nginx settings of your rails application"
25
- task :discard => :environment do
26
- nginx.discard
27
- end
28
- end
29
-
30
- namespace :app do
31
- app = Rda::App.new
32
-
33
- desc "Restart your rails application"
34
- task :restart do
35
- app.restart
36
- end
37
- end
38
- end