Diff: [root] @ eaf9289fbf5 | faq | css


File created: 33188 reploy/examples [Diff]

diff --git a/reploy/examples b/reploy/examples
new file mode 100644
index 0000000..b08ed90
-- /dev/null
++ b/reploy/examples
@@ -0,0 +1,5 @@
h1. Reployment Examples

"Example config for merb, deployed from remote git repo and config-specific files copied from current directory.":http://gist.github.com/182314

"Simple config for plain transferring files from git by scp":http://gist.github.com/182319
\ No newline at end of file

File created: 33188 reploy/index [Diff]

diff --git a/reploy/index b/reploy/index
new file mode 100644
index 0000000..050720b
-- /dev/null
++ b/reploy/index
@@ -0,0 +1,5 @@
Reploy is deploying tool, written in Ruby. I decided to write it when i was tired of "Vlad":http://rubyhitsquad.com/Vlad_the_Deployer.html and "Capistrano":http://capify.org performing dark magic in my urxvt including throwing numerous tarballs over rsync, littering my server with backups and using three instances of git repo, one created on every run.

Currently it supports one target at time, which is drawback from Vlad'n'Cap, but for one-location use it's ok. This may improve over time.

See available [[recipes]] and [[manual]].
\ No newline at end of file

File created: 33188 reploy/manual [Diff]

diff --git a/reploy/manual b/reploy/manual
new file mode 100644
index 0000000..2be4a5f
-- /dev/null
++ b/reploy/manual
@@ -0,0 +1,29 @@
h1. How To Reploy

* Install reploy gem

bc. gem sources -a http://gems.github.com # if github is not already in your gem sources
gem install Voker57-reploy

* Write a Rakefile

If you are using merb, you can write the following into @lib/tasks/reploy.rake@. Otherwise, consult local authority / call it @Rakefile@.

That's example script, using git to get versioned content from local working copy, rsync to transfer files and using merb methods to restart remote server

bc. require 'reploy'
Reploy.load(:host => "example.com", # remote host
:user => "username", # remote login
:path => "/var/www/example.com", # remote path to deploy site. Actual site vill be deployed to current/ subdir.
:recipes => ["git", "merb", "rsync"], # requiring bundled recipes, end one with .rb to load it from global search paths
:copy => [["config/database.yml","config"]], # files that are not included in version control
:store_backups => false, # setting this to true leaves named backups in their folders after deployment
# merb settings
:merb => { :host => "", # host to listen on
:port => "4000", # port
:environment => "production", # environment
:adapter => "thin" # rack adapter
task :deploy => ["reploy:merb:deploy"] # shortcut for convenience

You can see more examples [[examples|here]]
\ No newline at end of file

File created: 33188 reploy/recipes/git [Diff]

diff --git a/reploy/recipes/git b/reploy/recipes/git
new file mode 100644
index 0000000..8f9b203
-- /dev/null
++ b/reploy/recipes/git
@@ -0,0 +1,5 @@
Git recipe currently supports case with local non-bare repo, it checks out current head and syncs it with remote copy, deleting all non-versioned files. To copy them, use @Reploy.copy@.

Implements: @checkout@

Config: none
\ No newline at end of file

File created: 33188 reploy/recipes/merb [Diff]

diff --git a/reploy/recipes/merb b/reploy/recipes/merb
new file mode 100644
index 0000000..5baf9ff
-- /dev/null
++ b/reploy/recipes/merb
@@ -0,0 +1,12 @@
Merb recipe currently supports starting, stopping and restarting remotely running "Merb":http://merbivore.org server, as well as keeping "shared" folders (log/ and tmp/) not-overwritten during code updates and autoupgrading tables.

Implements: @start, stop, restart, symlink_shared, autoupgrade, deploy@

h2. Config entries:

* :host - Host to bind to
* :port - Port to listen on,
* :environment - Merb environment
* :adapter - Merb adapter

All those are given to merb daemon, port is additionally used to identify previously running daemon.
\ No newline at end of file

File created: 33188 reploy/recipes/rsync [Diff]

diff --git a/reploy/recipes/rsync b/reploy/recipes/rsync
new file mode 100644
index 0000000..6cbbbd4
-- /dev/null
++ b/reploy/recipes/rsync
@@ -0,0 +1,5 @@
Rsync recipes provide compressed syncronization of directories and file transfer via "rsync":http://www.samba.org/rsync

Implements: @sync, copy@

Config: none
\ No newline at end of file

File created: 33188 reploy/recipes/scp [Diff]

diff --git a/reploy/recipes/scp b/reploy/recipes/scp
new file mode 100644
index 0000000..4781851
-- /dev/null
++ b/reploy/recipes/scp
@@ -0,0 +1,5 @@
Scp recipe provides file transfers and directory syncronization using tarballs and SCP (protocol, not program)


* :tar - Use tarballs with specified compression method. Recognized methods are @gzip, bzip2, lzma@. If :tar is set but method is unrecognized, uncompressed tarballs are used
\ No newline at end of file

By Voker57 on 2009-09-07 16:04:01 +0400 Powered by bitcheese wiki engine