ninja-deploy 0.1.0 → 1.0.0
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/README.rdoc +129 -0
- data/VERSION +1 -1
- data/lib/ninja_deploy/recipes/log.rb +7 -0
- data/lib/ninja_deploy/recipes/passenger.rb +8 -0
- data/lib/ninja_deploy/recipes/sass.rb +8 -0
- data/lib/ninja_deploy/recipes/version.rb +8 -0
- data/lib/ninja_deploy/recipes/whenever.rb +8 -0
- data/ninja-deploy.gemspec +6 -1
- metadata +8 -3
data/README.rdoc
CHANGED
@@ -2,6 +2,135 @@
|
|
2
2
|
|
3
3
|
Common shared deployment recipes.
|
4
4
|
|
5
|
+
|
6
|
+
== Assumptions
|
7
|
+
|
8
|
+
* The user has local tasks to set up variables specfic to the deploying environment (ie. staging, production, etc.).
|
9
|
+
|
10
|
+
|
11
|
+
== Database Recipes
|
12
|
+
|
13
|
+
Require the database recipes in your deploy.rb file:
|
14
|
+
|
15
|
+
require 'ninja_deploy/recipes/database'
|
16
|
+
|
17
|
+
=== dump
|
18
|
+
|
19
|
+
Dependencies:
|
20
|
+
|
21
|
+
* The user acting during the deployment must have permissions to dump the MySQL database.
|
22
|
+
|
23
|
+
==== To Local File
|
24
|
+
|
25
|
+
Dumps the contents of a remote database to a MySQL dump file, scp's the file to /tmp directory.
|
26
|
+
|
27
|
+
cap production db:dump:to_local_file
|
28
|
+
|
29
|
+
==== To Local Database
|
30
|
+
|
31
|
+
Dumps the contents of a remote database to a MySQL dump file, scp's the file to /tmp directory, loads the locally configured
|
32
|
+
development database and deletes the local and remote dump files.
|
33
|
+
|
34
|
+
cap production db:dump:to_local_db
|
35
|
+
|
36
|
+
Dependencies:
|
37
|
+
|
38
|
+
* The configured local development user must have permission to load the database form a MySQL dump file.
|
39
|
+
|
40
|
+
|
41
|
+
== Log Recipes
|
42
|
+
|
43
|
+
Require the database recipes in your deploy.rb file:
|
44
|
+
|
45
|
+
require 'ninja_deploy/recipes/log'
|
46
|
+
|
47
|
+
=== tail
|
48
|
+
|
49
|
+
Tails the remote server's log for the current environment.
|
50
|
+
|
51
|
+
cap production log:tail
|
52
|
+
|
53
|
+
|
54
|
+
== Passenger Recipes
|
55
|
+
|
56
|
+
Require the database recipes in your deploy.rb file:
|
57
|
+
|
58
|
+
require 'ninja_deploy/recipes/passenger'
|
59
|
+
|
60
|
+
=== restart
|
61
|
+
|
62
|
+
Restarts Passenger.
|
63
|
+
|
64
|
+
As Callback:
|
65
|
+
|
66
|
+
after "deploy:update_code", "passenger:restart"
|
67
|
+
|
68
|
+
From Command-Line:
|
69
|
+
|
70
|
+
cap production passenger:restart
|
71
|
+
|
72
|
+
|
73
|
+
== Sass Recipes
|
74
|
+
|
75
|
+
Require the database recipes in your deploy.rb file:
|
76
|
+
|
77
|
+
require 'ninja_deploy/recipes/sass'
|
78
|
+
|
79
|
+
=== update
|
80
|
+
|
81
|
+
Generates the CSS files from the Sass files.
|
82
|
+
|
83
|
+
As Callback:
|
84
|
+
|
85
|
+
before "deploy:restart", "sass:update"
|
86
|
+
|
87
|
+
From Command-Line:
|
88
|
+
|
89
|
+
cap production sass:update
|
90
|
+
|
91
|
+
|
92
|
+
== Version Recipes
|
93
|
+
|
94
|
+
Require the database recipes in your deploy.rb file:
|
95
|
+
|
96
|
+
require 'ninja_deploy/recipes/version'
|
97
|
+
|
98
|
+
=== write
|
99
|
+
|
100
|
+
Writes a public/VERSION file to the remote server.
|
101
|
+
|
102
|
+
As Callback:
|
103
|
+
|
104
|
+
after "deploy:update_code", "version:write"
|
105
|
+
|
106
|
+
Dependencies:
|
107
|
+
|
108
|
+
* branch_tag_or_sha_to_deploy variable
|
109
|
+
|
110
|
+
|
111
|
+
== Whenever Recipes
|
112
|
+
|
113
|
+
Require the database recipes in your deploy.rb file:
|
114
|
+
|
115
|
+
require 'ninja_deploy/recipes/whenever'
|
116
|
+
|
117
|
+
=== update_crontab
|
118
|
+
|
119
|
+
Updates the crontab file using whenever.
|
120
|
+
|
121
|
+
As Callback:
|
122
|
+
|
123
|
+
after "deploy:update_code", "whenever:update_crontab"
|
124
|
+
|
125
|
+
From Command-Line:
|
126
|
+
|
127
|
+
cap production whenever:update_crontab
|
128
|
+
|
129
|
+
Dependencies:
|
130
|
+
|
131
|
+
* application variable
|
132
|
+
|
133
|
+
|
5
134
|
== Note on Patches/Pull Requests
|
6
135
|
|
7
136
|
* Fork the project.
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
1.0.0
|
@@ -0,0 +1,8 @@
|
|
1
|
+
Capistrano::Configuration.instance(:must_exist).load do
|
2
|
+
namespace :passenger do
|
3
|
+
desc "Restart the passenger module to reload the application after deploying."
|
4
|
+
task :restart, :roles => :app, :except => {:no_release => true} do
|
5
|
+
sudo "touch #{current_path}/tmp/restart.txt"
|
6
|
+
end
|
7
|
+
end
|
8
|
+
end
|
@@ -0,0 +1,8 @@
|
|
1
|
+
Capistrano::Configuration.instance( :must_exist ).load do
|
2
|
+
namespace :sass do
|
3
|
+
desc 'Updates the stylesheets generated by Sass'
|
4
|
+
task :update, :roles => :app do
|
5
|
+
invoke_command "cd #{latest_release}; rake app:sass:update RAILS_ENV=#{rails_env}"
|
6
|
+
end
|
7
|
+
end
|
8
|
+
end
|
@@ -0,0 +1,8 @@
|
|
1
|
+
Capistrano::Configuration.instance( :must_exist ).load do
|
2
|
+
namespace :version do
|
3
|
+
desc 'Writes a VERSION file to the public directory of the application'
|
4
|
+
task :write do
|
5
|
+
run "echo #{branch_tag_or_sha_to_deploy} > #{release_path}/public/VERSION"
|
6
|
+
end
|
7
|
+
end
|
8
|
+
end
|
@@ -0,0 +1,8 @@
|
|
1
|
+
Capistrano::Configuration.instance( :must_exist ).load do
|
2
|
+
namespace :whenever do
|
3
|
+
desc "Update the crontab file using whenever"
|
4
|
+
task :update_crontab, :roles => :db do
|
5
|
+
run "cd #{release_path} && bundle exec whenever --set environment=#{rails_env} --update-crontab #{application}"
|
6
|
+
end
|
7
|
+
end
|
8
|
+
end
|
data/ninja-deploy.gemspec
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{ninja-deploy}
|
8
|
-
s.version = "
|
8
|
+
s.version = "1.0.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Ninja Loss"]
|
@@ -26,6 +26,11 @@ Gem::Specification.new do |s|
|
|
26
26
|
"VERSION",
|
27
27
|
"lib/ninja_deploy.rb",
|
28
28
|
"lib/ninja_deploy/recipes/database.rb",
|
29
|
+
"lib/ninja_deploy/recipes/log.rb",
|
30
|
+
"lib/ninja_deploy/recipes/passenger.rb",
|
31
|
+
"lib/ninja_deploy/recipes/sass.rb",
|
32
|
+
"lib/ninja_deploy/recipes/version.rb",
|
33
|
+
"lib/ninja_deploy/recipes/whenever.rb",
|
29
34
|
"ninja-deploy.gemspec",
|
30
35
|
"spec/ninja-deploy_spec.rb",
|
31
36
|
"spec/spec.opts",
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ninja-deploy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 23
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
|
-
- 0
|
8
7
|
- 1
|
9
8
|
- 0
|
10
|
-
|
9
|
+
- 0
|
10
|
+
version: 1.0.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Ninja Loss
|
@@ -67,6 +67,11 @@ files:
|
|
67
67
|
- VERSION
|
68
68
|
- lib/ninja_deploy.rb
|
69
69
|
- lib/ninja_deploy/recipes/database.rb
|
70
|
+
- lib/ninja_deploy/recipes/log.rb
|
71
|
+
- lib/ninja_deploy/recipes/passenger.rb
|
72
|
+
- lib/ninja_deploy/recipes/sass.rb
|
73
|
+
- lib/ninja_deploy/recipes/version.rb
|
74
|
+
- lib/ninja_deploy/recipes/whenever.rb
|
70
75
|
- ninja-deploy.gemspec
|
71
76
|
- spec/ninja-deploy_spec.rb
|
72
77
|
- spec/spec.opts
|