forked from capistrano/capistrano
/
CHANGELOG
255 lines (131 loc) · 9.26 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
*SVN*
* Fixed that cap setup would use 755 on the deploy_to and shared directory roots instead of 775 [DHH]
* Don't run the cleanup task on servers marked no_release [Jamis Buck]
* Fix typo in default_io_proc so it correctly checks the stream parameter to see if it is the error stream [Stephen Haberman]
* Make sure assets in images, javascripts, and stylesheets are touched after updating the code, to ensure the asset timestamping feature of rails works correctly [Jamis Buck]
* Added warning if password is prompted for and termios is not installed [John Labovitz]
* Added :as option to sudo, so you can specify who the command is executed as [Mark Imbriaco]
*1.2.0* (September 14, 2006)
* Add experimental 'shell' task [Jamis Buck]
* Display file for external configurations, rather than inspected proc. [Jamis Buck]
* Connect to multiple servers in parallel, rather than serially. [Jamis Buck]
* Add SCM module for Mercurial (closes #4150) [Matthew Elder]
* Remove unused line in SCM::Base (closes #5619) [chris@seagul.co.uk]
* More efficient "svn log" usage (closes #5620) [Anatol Pomozov]
* Better support for key passphrases in the SVN module (closes #5920) [llasram@gmail.com]
* Fix missing default for :local in cvs.rb (closes #3645) [jeremy@hinegardner.org]
* Fix awkward spacing in gemspec file (closes #3888) [grant@antiflux.org]
* Add support for :sudo variable to specify path to sudo (closes #4578) [timothee.peignier@tryphon.org]
* Make previous_release return nil if there are no previous releases (closes #4959) [bdabney@cavoksolutions.com]
* Uncache releases list after update_code is called so that newly released dir is included (closes #3766) [Jamis Buck]
* Allow the subversion scm to accept HTTPS certificates (closes #4792) [Jamis Buck]
* Make sure rollbacks occur within the scope of the task that triggered them [Jamis Buck]
* Fixed the default recipe to work with setups that haven't yet gone pids [DHH]
* Symlink and setup for shared/pids to tmp/pids [DHH]
* Fix some incorrect usage text (closes #4507) [gerry_shaw@yahoo.com]
* Added Actor#stream method that makes it easy to create cross-server streams [DHH]. Example:
desc "Run a tail on multiple log files at the same time"
task :tail_fcgi, :roles => :app do
stream "tail -f #{shared_path}/log/fastcgi.crash.log"
end
* Make update_code and symlink a macro task under the name "update" for easy of deploy to servers that does not run fcgis [DHH]
* Changed setup, update_code, rollback_code, and symlink to work on all servers instead of only those in the :app, :web, and :db roles. A server can opt out of being part of the release deployment by setting :no_release => true [DHH]
* Added support for :except on task declarations as the opposite of :only [DHH]. Example:
role :app, "192.168.0.2"
role :file, "192.168.0.3", :no_release => true
task :symlink, :except => { :no_release => true } do
on_rollback { run "ln -nfs #{previous_release} #{current_path}" }
run "ln -nfs #{current_release} #{current_path}"
end
cap symlink # will not run on 192.168.0.3
* Deprecate the -r/--recipe switch in favor of -f/--file (for more make/rake-like semantics) [Jamis Buck]
* Fix gemspec to include a dependency on rake 0.7 [Jamis Buck]
* Added respect for ENV["HOSTS"] that'll be used instead of the roles specified in the task definition [DHH]. Example:
HOSTS=192.168.0.1 cap setup # one-off setup for that server, doesn't need to be prespecified in the recipes file
* Added respect for ENV["ROLES"] that'll be used instead of the roles specified in the task definition [DHH]. Example:
task :setup, :roles => [ :app, :web, :db ]
# normally this would run every where
end
ROLES=app cap setup # this will only run for the app role, overwritting the default declaration
* Added :hosts option to task definition that allows you to specify cross-cutting tasks [DHH]. Example:
task :setup, :hosts => [ "06.example.com", "01.example.com" ] do
# this task will happen on 06 and 01 regardless of which roles they belong to
end
* Fix operator precedence problem in script for touching the revisions.log #3223 [jason.garber@emu.edu]
*1.1.0* (March 6th, 2006)
* Simplify the generated capistrano.rake file, and make it easier to customize
* Use rake-like command-line semantics ("cap deploy", in addition to "cap -a deploy")
* Rename to capistrano
* Make the generated capistrano.rake file use rake namespaces, and include all default tasks
* Look for config/deploy.rb, capfile, and Capfile by default
*1.0.1* (February 20th, 2006)
* Fix broken switchtower_invoke function in switchtower.rake (missing require statement)
*1.0.0* (Feburary 18th, 2006)
* Make CVS module's :local value default to "."
* Add "invoke" task for executing one-off commands
* Make port selection smarter for gateway connections
* Add extension mechanism for custom ST operations and third-party task libraries
* Make ST rails rake tasks more configurable
* Add Actor#current_task and simplify Task#servers
* Add Actor#connect! method for working around lazy connection establishing
* Make sure IO::TRUNC is specified for Net::SFTP uploads (#3510)
* Add branch support to CVS [jeremy@hinegardner.org] (#3596)
* Add bazaar-ng SCM module [Damien Merenne]
* Add optional :svn_username and :svn_password variables
* Allow Proc-valued variables to be set more conveniently (set(:foo) { "bar" })
* Add perforce SCM module [Richard McMahon]
* Add bazaar (v1) SCM module [Edd Dumbill] (#3533)
* Fix stftime format string used in CVS module to be Windows-compatible (fixes #3383)
* Add an better error when a task is run and no servers match the required conditions
* Add default spinner and cold_deploy tasks, and spinner_user variable
* Changed restart_via variable to (boolean) use_sudo
* Only chmod when the revisions.log file is first created
* Make UPPERCASE variables work
* Added rails_env variable (defaults to production) for use by tasks that employ the RAILS_ENV environment variable
* Added Actor.default_io_proc
* Set :actor key on SSH channel instances
*0.10.0* (January 2nd, 2006)
* Handle ssh password prompts like "someone's password:"
* Make CLI#echo available as a class method.
* Add CLI#with_echo.
* Make the default password prompt available as a class method.
# Add documentation for the CLI class.
* Add a sanity check to make sure the correct versions of Net::SSH and Net::SFTP are installed.
* Added a cleanup task to remove unused releases from the deployment directory
* Allow password to be reentered on sudo if it was entered incorrectly
* Use && as the command separator for the checkouts, so that errors are caught early.
* Ping each SSH connection every 1s during command processing so that long-running commands don't cause the connection to timeout.
* Add a 0.01s sleep during the command loop so that the CPU doesn't go ballistic while ST is doing its thing.
* Add :restart_via variable for specifying whether restart ought to use :sudo (default, use sudo)
* Use SFTP for file transfers (if available).
* Add an "update_current" task that will do an svn up on the current release
* Use the :checkout variable to determine what operation to use for svn checkouts (instead of co, like "export").
* The Rails rake tasks now load ST directly, instead of invoking it via system
* Added ssh_options variable to configure the SSH connection parameters #2734 [jerrett@bravenet.com]
* Require Net::SSH 1.0.5
*0.9.0* (October 18th, 2005)
* Use process reaper instead of custom reap script for restarting
* Use -S switch to set variables before reading recipe files #2242
* Have setup.rb create a switchtower.cmd file on Win32 platforms #2402
* Add diff_from_last_deploy to the rails switchtower rakefile template
* Add diff_from_last_deploy task (currently only works with subversion)
* Add deploy_with_migrations task.
* Make the migrate task more customizable.
* If no password is given with the -p switch, prompt for password immediately.
* Do not install a switchtower stub in the script directory. Assume the switchtower executable is in the path.
* Remove trailing newlines from commands to prevent trailing backslash #2141
* Default parameters work correctly with the generator #2218 [Scott Barron]
* Attempt to require 'rubygems' explicitly when running the switchtower utility #2134
* Make default tasks work only on app/db/web roles, so that additional roles may be created for boxes with specific needs without needing to (for instance) deploy the app to those boxes
* Default the application name to "Application" when using --apply-to
* Show the help screen instead of an error when no arguments are given
* Make SwitchTower easier to invoke programmatically via SwitchTower::CLI
* Specify the revision to release via the :revision variable (defaults to latest revision)
* Allow variables to be set via the cli using the -s switch
* Log checkouts to a "revisions.log" file
* Changed behavior of checkout to use the timestamp as the release name, instead of the revision number
* Added CVS module (very very experimental!)
* Works with public keys now, for passwordless deployment
* Subversion module recognizes the password prompt for HTTP authentication
* Preserve +x on scripts when using darcs #1929 [Scott Barron]
* When executing multiline commands, use a backslash to escape the newline