fezzik 0.1.2 → 0.1.3

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.
Files changed (4) hide show
  1. data/README.md +2 -1
  2. data/bin/fezify +19 -2
  3. data/fezzik.gemspec +1 -1
  4. metadata +4 -4
data/README.md CHANGED
@@ -10,6 +10,7 @@ and gets out of your way.
10
10
  sudo gem install fezzik
11
11
 
12
12
  ## Setup
13
+
13
14
  $ cd myproject
14
15
  $ ls
15
16
  server.rb
@@ -28,7 +29,7 @@ and gets out of your way.
28
29
 
29
30
  **bin/run_app.sh**: write a command that will start your app
30
31
  #!/bin/sh
31
- nohup ruby server.rb &
32
+ nohup ruby server.rb > /dev/null 2>&1 &
32
33
 
33
34
  Ready to deploy!
34
35
  $ fez to_prod deploy
data/bin/fezify CHANGED
@@ -42,6 +42,12 @@ end
42
42
  # destination servers. This is a decent initial setup, but is completely configurable.
43
43
 
44
44
  namespace :fezzik do
45
+ # Any variables set in deploy.rb with "env" will be saved on the server in two files:
46
+ # config/environment.sh and config/environment.rb. The first is loaded into the shell
47
+ # environment before the run script is called, and the second is made available to
48
+ # be required into your code. You can use your own environment.rb file for development,
49
+ # and it will be overwritten by this task when the code deploys.
50
+ desc "saves variables set by 'env' in deploy.rb into config/environment.sh and config/environment.rb"
45
51
  task :save_environment do
46
52
  system("mkdir -p /tmp/#\{app\}/config")
47
53
  File.open("/tmp/#\{app\}/config/environment.rb", "w") do |file|
@@ -56,6 +62,7 @@ namespace :fezzik do
56
62
  end
57
63
  end
58
64
 
65
+ desc "stages the project for deployment in /tmp"
59
66
  task :stage do
60
67
  puts "staging project in /tmp/#\{app\}"
61
68
  system("rm -fr /tmp/#\{app\}")
@@ -63,39 +70,49 @@ namespace :fezzik do
63
70
  Rake::Task["fezzik:save_environment"].invoke
64
71
  end
65
72
 
73
+ desc "performs any necessary setup on the destination servers prior to deployment"
66
74
  remote_task :setup do
67
75
  puts "setting up servers"
68
76
  run "mkdir -p #\{deploy_to\}/releases"
69
77
  end
70
78
 
79
+ desc "rsyncs the project from its stages location to each destination server"
71
80
  remote_task :push => [:stage, :setup] do
72
81
  puts "pushing to #\{target_host\}"
73
82
  rsync "-q", "/tmp/#\{app\}/", "#\{target_host\}:#\{release_path\}"
74
83
  end
75
84
 
76
- remote_task :symlink => :push do
85
+ desc "symlinks the latest deployment to /deploy_path/project/current"
86
+ remote_task :symlink do
77
87
  puts "symlinking current to #\{release_path\}"
78
88
  run "cd #\{deploy_to\} && ln -fns #\{release_path\} current"
79
89
  end
80
90
 
91
+ desc "runs the executable in project/bin"
81
92
  remote_task :start do
82
93
  puts "starting from #\{release_path\}"
83
94
  run "cd #\{current_path\} && source config/environment.sh" +
84
95
  " && ./bin/run_app.sh"
85
96
  end
86
97
 
98
+ desc "kills the application by searching for the specified process name"
87
99
  remote_task :stop do
88
100
  puts "stopping app"
89
101
  # Replace YOUR_APP_NAME with whatever is run from your bin/run_app.sh file.
90
102
  # run "(kill -9 `ps aux | grep 'YOUR_APP_NAME' | grep -v grep | awk '\{print $2\}'` || true)"
91
103
  end
92
104
 
105
+ desc "restarts the application"
93
106
  remote_task :restart do
94
107
  Rake::Task["fezzik:stop"].invoke
95
108
  Rake::Task["fezzik:start"].invoke
96
109
  end
97
110
 
98
- task :deploy => [:symlink, :restart] do
111
+ desc "full deployment pipeline"
112
+ task :deploy do
113
+ Rake::Task["fezzik:push"].invoke
114
+ Rake::Task["fezzik:symlink"].invoke
115
+ Rake::Task["fezzik:restart"].invoke
99
116
  puts "#\{app\} deployed!"
100
117
  end
101
118
  end
data/fezzik.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "fezzik"
3
- s.version = "0.1.2"
3
+ s.version = "0.1.3"
4
4
 
5
5
  s.required_rubygems_version = Gem::Requirement.new(">=0") if s.respond_to? :required_rubygems_version=
6
6
  s.specification_version = 2 if s.respond_to? :specification_version=
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fezzik
3
3
  version: !ruby/object:Gem::Version
4
- hash: 31
4
+ hash: 29
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 2
10
- version: 0.1.2
9
+ - 3
10
+ version: 0.1.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - Daniel MacDougall
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-03-03 00:00:00 -08:00
18
+ date: 2011-03-04 00:00:00 -08:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency