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
|
set: repository_root, "https://my.svn.com/code/myapp"
set: scm,: subversion
set: scm_username, "username"
set: scm_password, "password"
####### Here we ask deployer which svn tag to use######
set(: tag) {
Capistrano::CLI.ui.ask("Tag to use for deployment")
}
set(: repository) {
(tag == "trunk") ? "#{repository_root}/trunk" : "#{repository_root}/tags/#{tag}"
}
set: deploy_via,: export
# Make capistrano write the proper revision# into the REVISION file.
"require "
capistrano / recipes / deploy / scm / subversion " <br>
Capistrano::Deploy::SCM::Subversion.class_eval do
def query_revision(revision)
return revision
if revision = ~/^\d+$/
result = yield(scm(: info, repository, authentication, "-r#{revision}"))
"YAML."
load(result)["Last Changed Rev"]
end
end
# Some more config
set: domain, "my.domain.com"
set: deploy_to, "/home/myapp"#
this is where the folder structure
for current, releases, shared will be.this path should not be under www.www can link to "current"
set: deploy_via,: export
# Your HTTP server, Apache / etc
set: user, "codingfolder"#
this is the ssh user
role: web, "server1.com", "server2.com"
role: app, "server1.com", "server2.com"
set: use_sudo, false
set: keep_releases, 5
|