capwagen 0.0.3 → 0.0.4

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.md CHANGED
@@ -1,17 +1,43 @@
1
1
  # Capwagen
2
2
 
3
- Capistrano integration for Kraftwagen projects. More information coming soon.
4
- For the more adventurous of you a very short tutorial below.
3
+ [Capistrano](https://github.com/capistrano/capistrano) integration for
4
+ [Kraftwagen](http://kraftwagen.org) based Drupal projects.
5
+
6
+ This brings single command, secure (SSH), multi-target deployments to
7
+ Drupal projects. Capistrano is written in the [Ruby](http://ruby-lang.org)
8
+ programming language, but it has proven itself in the realm of PHP with
9
+ projects like [Capifony](http://capifony.org) (Capistrano for Symfony),
10
+ [capistrano-drupal](https://github.com/previousnext/capistrano-drupal) and
11
+ [WordPress Capistrano Deploy](https://github.com/nathanielks/Wordpress-Capistrano-Deploy).
12
+
13
+ Since Capistrano is so widely used, it has clearly proven to be a reliable
14
+ method of automating deployments.
15
+
16
+
17
+ ## Assumptions
18
+
19
+ Capistrano is "opinionated software", it has very firm ideas about how
20
+ things ought to be done, and is not very flexible in that regard.
21
+ Some of the assumptions behind these opinions are:
22
+
23
+ * You use SSH to access the remote servers (so *no* native FTP support).
24
+ * You either have (1) the same password to all target machines, or (2)
25
+ public keys in place to allow passwordless access (preferred).
26
+
27
+ If you cannot live with these assumptions, Capistrano is likely not
28
+ the right tool for you.
5
29
 
6
- **This is very inmature code at the moment. DO NOT use it for production
7
- deployments unless you do not care about breaking your production site.**
8
30
 
9
31
  ## Installation
10
32
 
33
+ Simple, but assumes you have Ruby version 1.8.7+, and the
34
+ [gems](http://rubygems.org) command available:
35
+
11
36
  ```
12
37
  gem install capwagen
13
38
  ```
14
39
 
40
+
15
41
  ## Adding Capwagen to your project
16
42
 
17
43
  ```
@@ -19,10 +45,13 @@ cd /path/to/project/src
19
45
  capwagen .
20
46
  ```
21
47
 
22
- Change `/path/to/project/src/cap/deploy.rb` to fit your configuration.
48
+ Now change `./cap/deploy.rb` to fit your configuration.
49
+
23
50
 
24
51
  ## Running a deployment
25
52
 
53
+ As easy as:
54
+
26
55
  ```
27
56
  cd /path/top/project/src
28
57
  cap deploy
@@ -1,3 +1,3 @@
1
1
  module Capwagen
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
data/lib/capwagen.rb CHANGED
@@ -35,6 +35,14 @@ module Capwagen
35
35
  end
36
36
  end
37
37
 
38
+ task :install do
39
+ transaction do
40
+ update_code
41
+ create_symlink
42
+ find_and_execute_task("kraftwagen:install")
43
+ end
44
+ end
45
+
38
46
  # We override the default finalize update task, because our logic for
39
47
  # filling projects with the correct symlinks, is completely different from
40
48
  # Rails projects.
@@ -89,6 +97,12 @@ module Capwagen
89
97
 
90
98
  # The Kraftwagen namespace contains the Kraftwagen update process
91
99
  namespace :kraftwagen do
100
+ task :install do
101
+ initialize_database
102
+ find_and_execute_task("drupal:cache_clear")
103
+ update
104
+ end
105
+
92
106
  task :update do
93
107
  apply_module_dependencies
94
108
  updatedb
@@ -99,6 +113,9 @@ module Capwagen
99
113
  find_and_execute_task("drupal:cache_clear")
100
114
  end
101
115
 
116
+ task :initialize_database do
117
+ run "cd #{latest_release} && #{drush_cmd} site-install #{install_profile} --yes"
118
+ end
102
119
  task :apply_module_dependencies do
103
120
  run "cd #{latest_release} && #{drush_cmd} kw-apply-module-dependencies #{kraftwagen_environment}"
104
121
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capwagen
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
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: 2013-03-06 00:00:00.000000000 Z
12
+ date: 2013-03-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: capistrano